如何从服务器验证 Twitter 访问令牌

问题描述 投票:0回答:2

客户端能够使用 hello.js 向 facebook 进行身份验证,并将访问令牌发送回服务器,然后服务器执行

get graph.facebook.com/me?access_token=xx
,如果正确,则返回用户的个人资料信息。

我想对 Twitter 做同样的事情,但即使在阅读文档后我也不明白我应该点击哪个端点。是否可以通过 REST 调用来做到这一点?

facebook-graph-api twitter oauth
2个回答
5
投票

你需要到达这个端点

https://dev.twitter.com/rest/reference/get/account/verify_credentials

像这样(使用请求模块):

const oauth={
    consumer_key:config.get('twitter.consumerKey'),
    consumer_secret:config.get('twitter.consumerSecret'),
    token:oauthToken,
    token_secret:oauthTokenSecret
  }

  requestAsync({
    url:'https://api.twitter.com/1.1/account/verify_credentials.json',
    method:'GET',
    oauth,
  })

0
投票

您可以使用访问令牌进行搜索查询,例如:

curl -X GET 'https://api.twitter.com/2/tweets/search/recent?query=rubyonrails' \
                -H "Authorization: Bearer ZnpQZFV5Y3B2RUxKRHlTcDU3WWNuZWpJQTY3MWlCYWI5OTJlczdwOF9Tanl3OjE3MTI1MTMzMzg1OTI6MToxOmF0OjE"

以下是令牌有效和无效时您会得到的结果:

~/s/d/code> curl -X GET 'https://api.twitter.com/2/tweets/search/recent?query=rubyonrails' \
                -H "Authorization: Bearer ZnpQZFV5Y3B2RUxKRHlTcDU3WWNuZWpJQTY3MWlCYWI5OTJlczdwOF9Tanl3OjE3MTI1MTMzMzg1OTI6MToxOmF0OjE"

{"data":[{"edit_...                                                                                                  

~/s/d/code> curl -X GET 'https://api.twitter.com/2/tweets/search/recent?query=rubyonrails' \
                -H "Authorization: Bearer ZnpQZFV5Y3B2RUxKRHlTcDU3WWNuZWpJQTY3MWlCYWI5OTJlczdwOF9Tanl3OjE3MTI1MTMzMzg1OTI6MToxOmF0OjE"

{
  "title": "Unauthorized",
  "type": "about:blank",
  "status": 401,
  "detail": "Unauthorized"
}⏎                                                                                                                                                                                 ~/s/d/code> 

(我刷新了令牌,现在它无效了)

© www.soinside.com 2019 - 2024. All rights reserved.