客户端能够使用 hello.js 向 facebook 进行身份验证,并将访问令牌发送回服务器,然后服务器执行
get graph.facebook.com/me?access_token=xx
,如果正确,则返回用户的个人资料信息。
我想对 Twitter 做同样的事情,但即使在阅读文档后我也不明白我应该点击哪个端点。是否可以通过 REST 调用来做到这一点?
你需要到达这个端点
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,
})
您可以使用访问令牌进行搜索查询,例如:
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>
(我刷新了令牌,现在它无效了)