1

我有一个基于 Zend_Oath_​​Consumer 的小型 Twitter 应用程序。用户允许我显示有关他的帐户的一些统计信息。

由于这个页面https://dev.twitter.com/docs/rate-limiting每个用户应该有 350 个请求,但实际上所有用户共享 150 个请求/小时的限制。

Zend 是否发送未签名的请求?我在哪里可以搜索错误?

4

2 回答 2

1

检查来自 twitter 的响应标头:

X-Warning: Invalid OAuth credentials detected.

基于:

确保在请求不需要身份验证的方法时检查返回的标头。如果您发出的请求包含无效的OAuth 信息,API 将执行以下两项操作之一:

对于需要身份验证的方法,API 将返回一个错误响应,其中包含有关错误的更多信息。例如,响应正文的 HTTP 401 错误无法使用 OAuth 进行身份验证。

对于可以请求未经身份验证的方法,API 将处理请求,就好像没有使用身份验证一样。这意味着该请求将计入​​未经身份验证的速率限制。如果发生这种情况,API 将在其响应中包含以下标头:X-Warning: Invalid OAuth credentials detected。

我怀疑您的问题更多地与 Oauth 不匹配有关。获取访问令牌页面可能会有所帮助。

于 2012-09-11T03:33:16.683 回答
0

解决了。正如预期的那样,这是我的错误......

错误:
$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));

%&$§/&%! <-不可翻译的脏话....

于 2012-09-11T08:50:03.280 回答