当前位置: 首页 > 知识库问答 >
问题:

jQuery中的Yahoo New Weather API oAuth调用

贺恩
2023-03-14

截至1月3日,Yahoo Weather有一个新的天气API,需要oAuth https://developer.Yahoo.com/Weather/

现在我已经从Yahoo获得了我的客户ID(消费者密钥)和我的客户机密(消费者机密)。我的问题是如何在jquery或JavaScript中使用oAuth调用这个API?

以下是呼叫的样子:

GET /forecastrss?location=sunnyvale,ca HTTP/1.1
Host: weather-ydn-yql.media.yahoo.com
Yahoo-App-Id: YOUR_APP_ID
Authorization: OAuth
oauth_consumer_key="YOUR_CONSUMER_KEY",oauth_signature_method="HMAC-SHA1",oauth_timestamp="YOUR_TIMESTAMP",oauth_nonce="YOUR_NONCE",oauth_version="1.0",oauth_signature="YOUR_GENERATED_SIGNATURE"
cache-control: no-cache

并且声明“请也在标题中包含您的OAuth应用程序id”。

这在jQuery中是什么样子的呢?

我尝试了以下操作:

$.get("https://weather-ydn-yql.media.yahoo.com/forecastrss", { location: "sunnyvale,ca", format: "json", oauth_consumer_key: "Client ID (Consumer Key)", oauth_signature_method: "HMAC-SHA1" } ).done(function( data ) {
        console.log("Data Loaded: " + data);
    });

我得到了这个错误:

ERR_ABORTED 401(未经授权)

共有1个答案

钦楚青
2023-03-14

虽然我没有专门运行这段代码,但它应该像jQuery中的其他get请求一样工作

$.get( url, { location: "sunnyvale,ca", format: "json", oauth_consumer_key: oauth_consumer_key, oauth_signature_method: oauth_signature_method, ... } )
  .done(function( data ) {
    alert( "Data Loaded: " + data );
  });

REF1:jQuery API https://API.jQuery.com/jQuery.get/

Ref2:Yahoo API:https://developer.Yahoo.com/weather/documentation.html

 类似资料:
  • 问题内容: 我想在click事件中进行三个Ajax调用。每个ajax调用都会执行不同的操作,并返回最终回调所需的数据。调用本身并不相互依赖,它们可以同时进行,但是当三个都完成时,我希望有一个最终的回调。 问题答案: 这是我写的一个回调对象,您可以设置单个回调以在全部完成后触发,也可以让每个回调都有自己的回调并在全部完成后触发它们: 注意 从jQuery 1.5+开始,您可以按照另一个答案中所述使用

  • 问题内容: 我编写了一个聊天框小部件,它每秒运行一次ajax调用,以获取已发布的新消息。问题在于它正在泄漏内存,仅在打开大约15分钟后便崩溃了我的浏览器(Firefox)。 可能是我,因为我是相对的新手,所以我确定自己错过了某些事情,或者没有设置变量等。 有人可以看一下我的(基本)代码,看看是否可以发现发生内存泄漏的地方以及我做错了什么?我是否需要取消设置某些变量或其他内容? 非常感谢! 问题答案

  • 问题内容: 我正在尝试在jquery的AJAX调用中使用变量,但是它不起作用。移动变量包含不同的值。请检查以下代码: 建议在数据中使用$ move变量的任何方法。 问题答案: 它应该是

  • 问题内容: 我已经审查了很多有关此类问题的答案,但现在我对最佳方法感到困惑。鉴于最新的jquery,我想 调用一个ajax函数 做ajax处理(成功或错误)//正常工作 成功或错误时,将状态返回到调用函数以进行进一步处理 在调用函数(doAjax)中,如何等待回调,然后完成对成功或错误的处理(在这种情况下,成功时清除表格,错误时保持原样) 感谢任何建议, Art [EDIT] 你们发现有一个错字,

  • 我有几个函数,我根据ajax调用中的列表填充下拉列表: 现在,在下拉列表被填充后,我想选择一个特定的项目,但要获得这个项目,我需要另一个ajax,如: 主要功能基本上是: 问题是,在< code>fillUpdateDropDown完成之前,已经到达了< code>getDefaultDetails的< code>success回调(dropdowns可能有很多项)。 我试图理解回调,但在我的情况

  • 问题内容: 我一直在努力使AJAX与Jquery一起使用。到目前为止,我最大的问题是我真的不知道如何弄清楚我在哪里犯错。我真的没有调试AJAX调用的好方法。 我正在尝试建立一个管理页面,其中我要执行的功能之一就是更改SQL数据库中设置的权限。我知道.click函数正在被触发,因此我将其范围缩小了,但是我不确定从AJAX调用到SQL查询的链在哪里出了问题。 我的.js代码: 我的.php处理程序:

  • 本文向大家介绍jQuery 中ajax异步调用的四种方式,包括了jQuery 中ajax异步调用的四种方式的使用技巧和注意事项,需要的朋友参考一下 以上就是本文的全部内容,了解更多jQuery的语法,大家可以查看:《jQuery 1.10.3 在线手册》,也希望大家多多支持呐喊教程。

  • 问题内容: 无法在Angular控制器的$ viewContentLoaded事件中调用jquery函数,以下是相同的代码。 这里需要任何配置吗?我什至尝试了noConflict(); var $ jq = jQuery.noConflict(); 是否需要其他配置? 谢谢阿卜杜勒 问题答案: 首先,不要从控制器进行DOM操作。而是从指令执行。 您可以在指令链接方法中执行相同的操作。您可以访问在其