首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我正在尝试在Postman上使用twitters API获取特定用户的最新推文,但我在使用OAuth2时遇到了问题

我正在尝试在Postman上使用twitters API获取特定用户的最新推文,但我在使用OAuth2时遇到了问题
EN

Stack Overflow用户
提问于 2019-06-08 23:37:27
回答 1查看 488关注 0票数 2

我正在尝试使用Postman来做一个get请求,以获取来自特定用户的推文。我遵循了Twitter的文档,并使用Postman创建了一个无记名令牌,但我仍然收到一个400错误。此错误没有详细信息,它只显示错误的请求。

客户端Id和客户端机密是否=我的消费者Api密钥和我的消费者Api密钥机密?或者这是我的访问令牌和访问令牌密码?

然后,我向https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=twitterdev&count=1发出get请求

EN

回答 1

Stack Overflow用户

发布于 2019-06-10 06:38:10

一旦你有了一个持有者令牌,这个过程就比你在问题中所显示的要简单得多。

为了让其他人更容易理解这个答案,下面是完整的过程。

您已经完成了其中的一些操作,所以可以跳到使用POSTMAN使用无记名令牌向发出请求。

先决条件

注意:我使用的是Postman 7.1.1,但我知道我在这里展示的所有内容在以前的版本中也是可能的(尽管授权等的标签可能略有不同)。

对于那些可能想要跟随,但没有用户提出问题的人来说,这里是如何赶上的:

  1. 注册了一个Twitter开发者帐户。(https://developer.twitter.com -使用您现有的推特帐户登录,然后继续申请。现在有一个应用程序process.)
  2. Once您有一个开发人员帐户,创建一个新的应用程序。(https://developer.twitter.com/en/apps)。一旦您有了应用程序,请转到应用程序的DETAILS,然后转到key

TOKENS页面,并记下"API secret key“和"API secret key".

  1. Finally,generate a bearer

App”。(如何在下面的Postman中执行此操作的步骤,或遵循Twitter的说明通过CURL:https://developer.twitter.com/en/docs/basics/authentication/guides/bearer-tokens完成此操作)。

  • 请注意,文档中并不清楚此持有者令牌的有效期。您可能(而且很可能)需要时不时地为您的应用程序重新生成一个持有者令牌到time.

使用POSTMAN为您的应用程序生成无记名令牌

创建邮递员请求,如下所示:

让我们调用此请求的各个部分:

  1. 请求必须是POST请求。在Authorization选项卡上选择请求
  2. https://api.twitter.com/oauth2/token?grant_type=client_credentials
  3. Click。
  4. 选择Basic Auth作为授权类型。

在邮递员用户名字段中输入您的Twitter密钥。您在创建应用程序时注意到了这个值。

  1. 在邮递员密码字段中输入您的推特应用编程接口密钥。您在创建应用程序时注意到了这个值。
  2. 单击Preview Request,这将获取授权值并为请求添加适当的标头。(如果您不这样做,请求将无法工作,因为它将没有正确的授权头!)

完成上述设置后,向发送此请求并记下响应,其格式应为:

代码语言:javascript
运行
复制
{
    "token_type": "bearer",
    "access_token": "AAAAAAAAAAAAAAAAAAAAAE3Q%SOMEoLONGoTOKENoHEREoHEREoHEREoHEREoLxTx4xddH50oSOMEoLONGoTOKENoHEREoHEREoHEREoHEREoPxsd3x"
}

(以上内容不是真实的令牌,文字仅用于说明。您的令牌将是胡言乱语。)

使用POSTMAN使用不记名令牌向TWITTER发出请求

有了所有的准备工作,我们就可以直接回答@Kiyana的问题了。

现在您已经有了一个持有者令牌,向支持此授权类型的端点发出实际请求非常简单。(请注意,并非所有Twitter的端点都支持这一点。有关详细信息,请参阅上面关于不记名令牌的链接。)

创建另一个邮递员请求,如下所示:

预览此请求可以是GET请求。预览请求url是您在Authrization选项卡上的问题:https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=twitterdev&count=1

  • Click中指出的。

  • 这次为request.

  • Click类型选择

  • 令牌字段输入您刚刚从不记名令牌request.

  • Click<>E188收到的预览请求的值,以正确设置请求的标头。(如果您不这样做,请求将无法工作,因为它将没有正确的授权头!)

向发送此请求,您应该确实会收到您感兴趣的响应!

将标头直接用于承载令牌

作为额外的回答,在上面的示例中,我们使用了Postman的Authorization选项卡。但是,该选项卡所做的全部工作就是将适当的请求头添加到您的请求中。如果你不想使用Authorization标签,你可以直接给你的请求添加头部!

我不会详细介绍如何执行第一个操作(使用用户名/密码的Basic Auth ),因为它有点牵涉其中。

但是,在第二种情况下,承载令牌的报头非常简单。添加的标头被简单地称为Authorization,在那里传递的值只是字符串"Bearer",加上空格,然后是您的令牌。

例如:

代码语言:javascript
运行
复制
Authorization: Bearer AAAAAAAAAAAAAAAAAAAAAE3Q%SOMEoLONGoTOKENoHEREoHEREoHEREoHEREoLxTx4xddH50oSOMEoLONGoTOKENoHEREoHEREoHEREoHEREoPxsd3x
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56507784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档