我在我们的网站上使用youtube api从youtube帐户获取内容(仅使用用户提要...无需用户身份验证).从昨天早上起,我们一直在:
<error>
<domain>yt:quota</domain>
<code>too_many_recent_calls</code>
</error>
Run Code Online (Sandbox Code Playgroud)
它起初是随机发生的,但很快,我们就会100%得到这个错误.我尝试了以下配额限制说明但我仍然收到错误:
如果您收到配额错误,可以采取以下几个步骤:
- 您的请求包括您的开发人员密钥和clientID.我这样做
- 确保代码执行的操作是用户启动的.我这样做
- 在限制查询参数中传递用户的IP地址.我只能传递代理/服务器的IP地址,而不是确切的客户端,因为Google AppEngine不支持InetAddress.getLocalHost().getHostAddress())
- 如果您要请求经过身份验证的Feed,请以用户身份登录,而不是以站点范围的帐户登录.我没有使用身份验证
我在使用Youtube API + App-Engine时遇到了同样的问题.我将开发人员密钥作为请求的参数传递,以及其他建议的参数(请求URL中的user-ip,developer-key)仍然无法与App Engine一起使用.
好吧,似乎开发人员密钥没有通过(尽管在POST请求标头中存在X-Gdata-key).我找到了这个解决方案:
每个YouTubeService实例都具有developer_key和client_id属性.设置在创建服务实例时,该属性(而不是在标题或设定的"X-的GData密钥" 键查询实例的属性),使Developer_Key开发的应用程序ID:CLIENT_ID在每一个请求被发送,并接受成功.
您可以在YouTubeService for Java API的构造函数中设置这些值.
如果您使用的是Python API,则可以直接设置参数,如下所示:
client = gdata.youtube.service.YouTubeService()
client.client_id = <application_id>
client.developer_key = <developer_key>
Run Code Online (Sandbox Code Playgroud)
我注意到我的developer_key没有通过检查YouTube API信息中心上的统计信息来完成.
| 归档时间: |
|
| 查看次数: |
4001 次 |
| 最近记录: |