如何重新生成Twitter Oauth访问令牌

时间:2016-07-20 18:32:11

标签: php api twitter oauth

我们正在使用带有Twitter API的Oauth 1.0身份验证流程。这基本上归结为此规范:http://oauth.net/core/1.0/#anchor9

我们创建了应用并开始吸引用户。后来我们用Twitter实现了注册,现在我们需要来自API的用户电子邮件地址。我们询问了推特并获得了请求。它很有用。

现在我们遇到现有用户的问题,因为那些在我们获得电子邮件权限之前授权应用程序的用户以及他们现有的访问令牌,Twitter并没有给我们这个。

Twitter在他们的文档中写道(https://dev.twitter.com/rest/reference/get/account/verify_credentials

  

注意

     

您的应用需要为之前经过身份验证的用户重新生成用户访问令牌才能访问其电子邮件地址。

如何做到这一点?

当我们删除我们这边的相应数据(令牌和秘密)并要求新的Auth时,它没有任何效果。 Twitter总是再次给我们相同的令牌和秘密..并且在帐号/ verify_credentials中调用没有电子邮件地址。

我们找到的唯一方法就是当我们登录Twitter并撤销对App的访问权限时。然后我们得到一个新的令牌和秘密,让我们可以访问我们想要的内容。

但我们不想告诉我们的用户,而是以编程方式使用API​​。怎么样?

1 个答案:

答案 0 :(得分:0)

尝试向用户请求新的/不同的权限:

  

如果我想为我的请求提供不同级别的访问权限该怎么办?   应用程序而不是我的应用程序注册的应用程序?您   现在可以通过使用x_auth_access_type参数来执行此操作   request_token阶段。使用此参数,您可以请求读取或   即使您的应用程序已注册为read /读/写令牌   写/直接消息。

     

有关此方法的更多信息,请参阅我们的开发人员文档:

http://dev.twitter.com/oauth/reference/post/oauth/request_token