【发布时间】:2025-12-04 22:05:02
【问题描述】:
我有一个基于 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-警告:检测到无效的 OAuth 凭据。
我怀疑您的问题更多地与 Oauth 不匹配有关。 Obtaining access tokens 页面可能会有所帮助。
【讨论】:
解决了。正如预期的那样,这是我的错误......
错了:
$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));
%&$§/&%!
【讨论】: