如何使用 Postman 客户端调用 Twitter API
Posted
技术标签:
【中文标题】如何使用 Postman 客户端调用 Twitter API【英文标题】:How to make calls to Twitter API using Postman client 【发布时间】:2015-11-17 05:33:35 【问题描述】:我已按照创建新应用程序并获取消费者密钥、秘密对以及令牌访问详细信息所需的步骤进行操作。现在我想使用 chrome Postman 客户端拨打Twitter Rest API。
我应该如何将客户密钥、秘密、令牌等详细信息传递给请求?我曾尝试将它们作为标头传递,也尝试通过在邮递员客户端中选择 OAuth1.0 选项来传递它们,但出现错误:
"errors": [
"code": 32,
"message": "Could not authenticate you."
]
【问题讨论】:
尝试按照提到的步骤here 对于任何想知道的人,现在有一个 Twitter 公共工作区可以引导您直接在 Postman 中使用 Twitter API 并提供完整的文档:postman.com/twitter/workspace/twitter-s-public-workspace/… 【参考方案1】:我知道这是旧的,但如果有人仍然面临这个问题,以下步骤对我有用:
-
在“授权”选项卡中,选择 OAuth 1.0
输入您的用户密钥、用户密码、访问权限
令牌和访问令牌秘密
启用“将参数添加到标题”和
“自动添加参数”
发送请求
希望对你有帮助。
【讨论】:
我没有Auto add parameter
Postman 在我发布此答案后已更新。在当前版本中,我只使用“将参数添加到标题”。
我不能让它工作!我尝试了 Pratik 解决方案,将 nonce 设置为 32 个字符长度,但没有,仍然有代码 32。我不想重复这个问题,但需要一些帮助。谢谢
确保您在请求中包含 user_id 或 user_name 参数,否则 Twitter 不会验证请求。我让它使用 6 个字符的 nonce,并且只选中了“将参数添加到 Header”
这适用于 2018 年 ..!谢谢?。 Postman 客户端已经改变了它的 UI 并且有一个名为“Add authentication data to”的对话框,我们应该选择“Request Headers”。【参考方案2】:
Juliana Chahoud's 2018 年更新答案:
添加授权数据已移至左侧列,需要您选择下拉菜单将其更改为“请求标头”。
【讨论】:
【参考方案3】:Postman 创建 6 个字符的 nonce,Twitter 需要 32 个字符的 Nonce。所以你可以使用任何随机值,我使用了 ABCDEFGHIJKLMNOPQRSTUVWXYZ123456 (length=32)
【讨论】:
我不明白【参考方案4】:你不能选择 Add params to header (pick 会失败) 你不需要关心Nonce
【讨论】:
您上面的屏幕截图表明 GET 不是 POST。当我尝试 POST 时出现此问题:api.twitter.com/1.1/statuses/update.json?status=HelloWorld!【参考方案5】:将授权数据添加到“请求标头”
Twitter API 示例:https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=snap
这将生成 Authorization 标头。确保已生成。
结果
[
"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",
...
【讨论】:
【参考方案6】:对我来说,Postman 创造了 11 个字符 Nonce。我得到了正确的带有 11 个字符 Nonce 的 Twitter API 响应。
【讨论】:
【参考方案7】:如果有人在 2017 年达到此目标,我的问题也是随机数,但长度为 32 的随机数对我不起作用。我检查了教程并使用了那里发布的教程,它开始工作了。确保您选择邮递员将授权数据添加到标题而不是正文。
这是我的工作随机数:kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg
【讨论】:
【参考方案8】:遵循接受的答案后,确保令牌/密钥末尾没有空格。否则会抛出同样的错误Could not authenticate you.
【讨论】:
【参考方案9】:除了从 twitter 开发者控制台获取的身份验证设置外,在搜索 q=target_user_id 时,它与 q=@target_user_id 不同,我收到错误 32,无法对您进行身份验证。
所以,经过无数次尝试后,只是从 q 参数值中删除了“@”符号。
【讨论】:
以上是关于如何使用 Postman 客户端调用 Twitter API的主要内容,如果未能解决你的问题,请参考以下文章
使用 C# HttpClient API 和 postman 测试的区别?客户端调用适用于邮递员,但不适用于 C# httpClient getAsync
如何从Postman休息客户端发送spring csrf令牌?
如何从 Postman REST 客户端发送 spring csrf 令牌?