如何在Yahoo的YQL中使用API密钥?

7
我正在使用这个YQL命令以XML格式访问股票报价信息。问题是在很多次请求后,它一直超时和拒绝连接。我认为我需要插入我的API密钥,以便它不会将其视为机器人。
我正在使用SharePoint处理XML。
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22AAPL%22)&env=store://datatables.org/alltableswithkeys

这里是限制的说明。
Per application limit (identified by your Access Key): 100,000 calls per day.
Per IP limits: /v1/public/: 1,000 calls per hour; /v1/yql/: 10,000 calls per hour.

我想要获得每个应用程序每天10万次的调用限制,或者每小时1万次的调用限制也可以。有什么建议吗?感谢任何帮助。


YQL使用OAuth,您需要创建一个访问密钥(http://developer.yahoo.com/dashboard/createKey.html)。 - salathe
2
我已经拥有了访问密钥,只是不知道该怎么使用它或者放在哪里。谢谢。 - zen
嗨 - 我知道这是一个旧帖子,但想知道是否有人找到了使用JavaScript / jQuery的解决方案?我也遇到了雅虎的数据限制问题,但找不到如何使用消费者密钥。 - Orange Juice Jones
2个回答

3
您需要使用OAuth并通过复杂的令牌交换流程。一旦您拥有一个access_token和一个token_secret,您就可以使用它们进行身份验证请求,直到它们过期。
完整的工作流程在这里概述。
您需要按照上面链接中概述的逐步过程进行操作,但基本上您要做的是:
  1. 此处获取一个request_token。
  2. 将用户重定向到Yahoo授权页面。
  3. 检索当用户被重定向回您的页面时查询字符串中包含的oauth_verifier
  4. 使用request_tokenoauth_verifier交换access_tokentoken_secret
  5. 然后可以使用access_tokentoken_secret进行身份验证请求。
由于您正在使用.Net,您可以使用此处发布的示例代码来简化您的生活。

0
希望你已经使用了Yahoo.inc来获取你的访问令牌,所以只需使用


    $session = YahooSession::requireSession(CONSUMER_KEY,CONSUMER_SECRET, APP_ID);
    $mails=$session->query('your query  limit 10');

获取访问权限后


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接