如何使用OAuth 1.0调用API?

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

在成功检索用户的access_token和他的secret_token之后调用API时遇到了麻烦,如下所示:

{ oauth_token: '4xxxxxxxx-asdasdasd......', oauth_token_secret: 'XXX........', user_id: '4xxxxxxxx' }
我代表我的应用程序在用户登录中检索了这些内容。例如,像 

Twitter 登录实现

现在可以从 API 检索数据 我不确定 OAuth 1.0 的规范,但我知道在 OAuth 2.0 中您可以简单地在标头中使用

'Authorization: Bearer ' . $accessToken

 。 OAuth 1.0 是否需要为每个 API 调用生成另一个签名?

我已经搜索过这个问题,但没有找到明确的解决方案。

node.js twitter oauth http-headers access-token
1个回答
4
投票
通常对于 OAuth1.0,发送的

Authorization

 标头的值为 
OAuth and a bunch of fields
。有一个关于它的规范,并且还会生成一个签名并将其添加到该字符串中,但您不必自己执行此操作。

您可以使用

request模块。例如,以下是如何获取 Twitter 用户的个人资料:

request.get('https://api.twitter.com/1.1/users/show.json', { oauth:{ consumer_key:'...', consumer_secret:'...', token:'...', token_secret:'...' }, qs:{user_id:'...'} // or screen_name }, function (err, res, body) {})

您可以将上述代码与任何 OAuth1.0 提供商一起使用。您需要传递的只是您的应用程序和用户凭据。在极少数情况下,您可能需要传递其他选项(查看

oauth 签名 部分)。

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