如何使用curl访问twitterrestapi v1.1?

如何使用curl访问twitterrestapi v1.1?,curl,twitter,oauth,twitter-oauth,Curl,Twitter,Oauth,Twitter Oauth,使用“Test OAuth”功能(应用程序设置),我可以为指定的API请求生成一个完全设置的curl命令: curl --get 'https://api.twitter.com/1.1/followers/ids.json' --data 'count=10&cursor=-1&screen_name=microsoft' --header 'Authorization: OAuth oauth_consumer_key="123consumer",

使用“Test OAuth”功能(应用程序设置),我可以为指定的API请求生成一个完全设置的curl命令:

curl --get 'https://api.twitter.com/1.1/followers/ids.json' 
  --data 'count=10&cursor=-1&screen_name=microsoft' 
  --header 'Authorization: OAuth 
      oauth_consumer_key="123consumer", 
      oauth_nonce="123nonce", 
      oauth_signature="123signature%3D", 
      oauth_signature_method="HMAC-SHA1", 
      oauth_timestamp="1402309080", 
      oauth_token="123-token", 
      oauth_version="1.0"' 
  --verbose 
这正是我想做的,但不同的API请求。但仅将上述命令中的“microsoft”与“google”交换将导致错误:

{"errors":[{"message":"Could not authenticate you","code":32}]}
为什么这是不可能的,我如何才能使它工作


就我所了解的OAuth而言,授权请求所需的只是下表步骤G中列出的OAuth键/值:



这是“官方”答案:

当您更改参数时,参数确实会更改,因此
oauth_签名
标题也会更改。这就是为什么在更改参数时不能重用签名

如果您想查看针对Twitter API的任何特定请求的curl请求,请查看OS X库。演示项目包括一个GUI客户端,该客户端将以curl格式处理OAuth请求


现在,如果您的目标只是从命令行向Twitter发出请求,那么请查看哪个是Twitter API的命令行客户端。

但我也可以计算一个新的签名,对吗?我猜SHA1-HMAC只是一个散列算法。你可以根据自己的意愿创建签名,该过程记录在Twitter的API文档中。谢谢,我总是尽可能避免外部依赖。如果我能直接用curl来做,我几乎可以用任何语言来做