如何使用来自twitter的访问令牌获取user_id?

时间:2017-06-28 11:12:09

标签: php twitter twitter-oauth

我需要根据Twitter上的user_id获取access_token

类似于facebook:https://graph.facebook.com/me?access_token={accessToken}

如何使用Twitter API获得类似的结果,我将使用access_token点击Twitter API?

Android应用开发者在他们使用Twitter登录按钮(Android应用)登录时向我发送userID和authToken。 所以现在我想使用此authToken获取用户配置文件详细信息。 请解释我使用authToken以及如何获取配置文件详细信息。还提供示例或参考,我可以理解和实现。

1 个答案:

答案 0 :(得分:-1)

如果您有访问令牌(访问令牌密钥和访问令牌密钥),则可以检索用户ID。

执行此操作的API端点是account/verify_credentials,参见documentation

这意味着从技术上讲,您可以代表用户使用twitter API,只存储他们的访问令牌,不需要在他们的数据库中保留他们的userId或用户名 - 尽管保持这些可用性更方便手。

同样重要的是:在结果对象中,您可能希望使用id_str而不是idas recommended,因为数字id可能无法正确解析。

node.js中的概念验证代码,在php中也可以实现。

设置:

$ cd /tmp/
$ npm install tuiter
$ node

然后在节点中:

var keys = {
    "consumer_key" : "xxx"
  , "consumer_secret" : "yyy" 
  , "access_token_key" : "zzzzzzzzzz-zzzz"
  , "access_token_secret" : "aaaaaaa"
}

var tu = require('tuiter')(keys)

tu.verifyCredentials(function(err, res) {
    if (err)
        throw err

    console.log('user id is', res.id_str) // prints the user id
})

修改

OP确保他所指的代币是auth_token来自" SIgn in twitter"按钮。

根据documentation

  

成功的回复包含oauth_tokenoauth_token_secret参数。应存储令牌和令牌秘密,并将其用于未来对Twitter API的经过身份验证的请求。要确定用户的身份,请使用GET account / verify_credentials

上面提供的答案应该仍然适用。