我有一个基于 Zend_Oath_Consumer 的小型 Twitter 应用程序。用户允许我显示有关他的帐户的一些统计信息。
由于这个页面https://dev.twitter.com/docs/rate-limiting每个用户应该有 350 个请求,但实际上所有用户共享 150 个请求/小时的限制。
Zend 是否发送未签名的请求?我在哪里可以搜索错误?
我有一个基于 Zend_Oath_Consumer 的小型 Twitter 应用程序。用户允许我显示有关他的帐户的一些统计信息。
由于这个页面https://dev.twitter.com/docs/rate-limiting每个用户应该有 350 个请求,但实际上所有用户共享 150 个请求/小时的限制。
Zend 是否发送未签名的请求?我在哪里可以搜索错误?
检查来自 twitter 的响应标头:
X-Warning: Invalid OAuth credentials detected.
基于:
确保在请求不需要身份验证的方法时检查返回的标头。如果您发出的请求包含无效的OAuth 信息,API 将执行以下两项操作之一:
对于需要身份验证的方法,API 将返回一个错误响应,其中包含有关错误的更多信息。例如,响应正文的 HTTP 401 错误无法使用 OAuth 进行身份验证。
对于可以请求未经身份验证的方法,API 将处理请求,就好像没有使用身份验证一样。这意味着该请求将计入未经身份验证的速率限制。如果发生这种情况,API 将在其响应中包含以下标头:X-Warning: Invalid OAuth credentials detected。
我怀疑您的问题更多地与 Oauth 不匹配有关。获取访问令牌页面可能会有所帮助。
解决了。正如预期的那样,这是我的错误......
错误:
$uri='http://api.twitter.com/1/users/show.json?screen_name='.$name;
$client->setUri($uri)
对:
$uri='http://api.twitter.com/1/users/show.json;
$client->setUri($uri);
$client->setParameterGet($uri,array("screen_name"=>$name));
%&$§/&%! <-不可翻译的脏话....