Ran*_*Ran 25 twitter twitter-oauth
导致令牌过期的可能原因是什么(除了让用户取消授权应用程序)?
我的问题是,我有一个拥有数千名用户的应用程序,所有API通信都运行良好,但对于某些用户我收到invalid or expired token错误,我的初期虽然是他们是取消了对应用程序的身份验证的用户,但我已经联系了一些他们并没有撤销访问权限.
有什么想法可以导致其他问题吗?
My *_*God 15
通过在使用该访问令牌时调用GET帐户/ verify_credentials,随时检查访问令牌的完整性.
它提到并通过研究我了解到:
如果用户明确拒绝其设置中的应用程序或Twitter管理员暂停您的应用程序,则您的访问令牌将无效.如果您的申请被暂停,您的申请页面上会有一条说明已被暂停的说明.
为什么我的twitter oauth访问令牌无效/过期?
查看此帖子:无效/过期访问令牌.
Google群组中有一篇帖子说:
你没有第二次机会,这是设计的.OAuth请求具有唯一的签名; 一旦提交了特定请求,就无法再次提交.如果他们正确地输入了引脚,一切都很顺利,你会得到一个访问令牌.如果他们输入错误的引脚,您将获得401 Unauthorized - 这是预期的.但如果他们再次尝试输入引脚,即使正确的引脚显示为未经授权.
请查看此链接以获取上述参考.
twitter员工针对同一问题提出的一些建议:
我想在这一点上我会建议两件事:1.)转到您的应用程序设置并使用"重置键"选项卡重置您的消费者密钥和密码,然后在应用程序中更新这些值并验证您是否仍然看到相同的行为.2.)尝试在request_token调用中传递oauth_callback.老实说,我不认为这会有所作为,但我想尝试尽可能严谨.
另请查看此讨论说:
您需要使用oauth/access_token调用返回的oauth_token和oauth_token_secret,而不是dev.twitter.com中应用程序设置中的oauth_token和oauth_token_secret.
小智 5
除了其他人所做的评论之外,有时当令牌不是问题时,twitter api 会返回“无效令牌”错误。当我构建一个无法正确解析的请求字符串时,我最注意到它。例如,有一次我在传入具有不可 URI 编码符号的 screen_name 时遇到该错误。当我传入这样的空值(光标为空)时,我也得到了它:
https://api.twitter.com/1/followers.json?cursor=&screen_name=whatevah
Run Code Online (Sandbox Code Playgroud)
您能给我们提供返回此错误的调用的详细信息吗?
小智 0
也许这对你有帮助。我遇到了同样的问题。
请找到下面的代码片段
$code = $tmhOAuth->user_request(array(
'method' => 'POST',
'url' => $tmhOAuth->url('oauth/access_token', ''),
'params' => array(
'oauth_verifier' => trim($params['oauth_verifier']),
)
));
if ($code == 200) {
$oauth_creds = $tmhOAuth->extract_params($tmhOAuth->response['response']);
// echo '<pre>';print_r($oauth_creds);exit;
$tmhOAuth->reconfigure(array_merge($tmhOAuth->config, array(
'token' => $oauth_creds['oauth_token'],
'secret' => $oauth_creds['oauth_token_secret'],
)));
$code = $tmhOAuth->user_request(array(
'url' => $tmhOAuth->url('1.1/account/verify_credentials')
));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35584 次 |
| 最近记录: |