我想从Twitter REST API中提取数据。我创建了消费者密钥,秘密和访问令牌,秘密。我尝试过“测试OAuth”,它会生成一个CURL命令但是如果我更改了任何一个参数,那么它会给出以下错误。 消息:{“errors”:[{“code”:32,“message”:“无法验证您。”}}}
现在我想在shell脚本中使用CURL为不同的screenNames调用twitter API。
我想要一个示例命令,如下所述
curl --get'https://api.twitter.com/1.1/statuses/user_timeline.json' - data'count = 2& screen_name = aswin'APPKEY:“xxxxxx”,Acesstoken:“yyyyyyyy”
提前致谢。
此致 Aswin
答案 0 :(得分:4)
我找到了答案。
curl --get'https://api.twitter.com/1.1/statuses/user_timeline.json' - data'count = 2& screen_name = twitterapi'--header'授权:OAuth oauth_consumer_key =“AAAAAAAAAAAAAAAAAAA”,oauth_nonce =“BBBBBBBBBBBBBBBBBBBBBB”,oauth_signature =“CCCCCCCCCCCCCCCCCCCCCCCCCCC” ,oauth_signature_method =“HMAC-SHA1”,oauth_timestamp =“1471672391”,oauth_token =“DDDDDDDDDDDDDDDDDDDDDDDDDDDD”“,oauth_version =”1.0“'
答案 1 :(得分:2)
由于大多数Twitter请求都需要计算oauth签名,因此您应该自己编写客户端或重用现有的命令行客户端。
如您所见,对请求的任何更改通常会使查询无效,甚至时间也是输入之一。
答案 2 :(得分:2)
由于您的特定查询不需要用户上下文,因此您可以使用仅应用程序身份验证来发出此请求。持票人令牌不会因每次请求而改变,因此它应该允许您继续使用curl。
https://dev.twitter.com/oauth/application-only
n.b。它不会对所有端点起作用,但对于您列出的情况应该如此。