如何使用 Postman 客户端调用 Twitter API

How to make calls to Twitter API using Postman client

我已按照创建新应用程序和获取消费者密钥、秘密对以及令牌访问详细信息所需的步骤进行操作。现在我想使用 chrome Postman 客户端调用 Twitter Rest API

我应该如何将客户密钥、机密、令牌等详细信息传递给请求?我试图将它们作为 headers 传递,也尝试通过在邮递员客户端中选择 OAuth1.0 选项来传递它们,但我收到错误:

{
  "errors": [
    {
      "code": 32,
      "message": "Could not authenticate you."
    }
  ]
}

我知道这是旧的,但如果有人仍然面临这个问题,以下步骤对我有用:

  1. 在授权选项卡中,select OAuth 1.0
  2. 输入您的消费者密钥、消费者秘密、访问权限 令牌和访问令牌秘密
  3. 启用“将参数添加到 header”和 “自动添加参数”
  4. 发送请求

希望对您有所帮助。

Postman 创建 6 个字符的随机数,Twitter 需要 32 个字符的随机数。所以你可以使用任何随机值,我使用 ABCDEFGHIJKLMNOPQRSTUVWXYZ123456 (length=32)

对我来说,Postman 创造了 11 个字符的 Nonce。我得到了包含 11 个字符 Nonce 的正确 Twitter API 响应。

你不能选择Add params to header(选择会失败) 你不需要关心 Nonce

如果有人在 2017 年达到这个目标,我的问题也是随机数,但长度为 32 的随机数对我不起作用。我检查了教程并使用了那里发布的教程,它开始工作了。确保选择邮递员将授权数据添加到 headers 而不是 body。

这是我的工作随机数:kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg

2018 年更新的答案:

添加授权数据已移至左侧栏,需要您select下拉菜单将其更改为"Request Headers"。

除了从 Twitter 开发人员控制台获取的身份验证设置外,在搜索 q=target_user_id 时,它的工作方式与 q=@target_user_id 相反,我在其中收到错误 32,无法验证你。

因此,经过多次尝试,只是从 q 参数值中删除了“@”符号。

将授权数据添加到 "Request Headers"

推特示例 API:https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=snap

这将生成 授权 header。确保已生成。

结果

[
    {
        "created_at": "Wed Mar 01 19:37:16 +0000 2017",
        "id": 837023955454201857,
        "id_str": "837023955454201857",
        "text": "RT @yoda: other things @snap has potentially worked on:\n\ntinker toys\nbaseball cards\nonesies\ntaco tosser\nshrunken christmas tree\nwalkie talk…",
        "truncated": false,
        "entities": {
            "hashtags": [],
            "symbols": [],
            "user_mentions": [
                {
                    "screen_name": "yoda",
                    "name": "drew olanoff",
...

遵循接受的答案后,确保 token/secret 键末尾没有空格。否则会抛出同样的错误Could not authenticate you.