我被困在这上面有一段时间了。有人知道如何使用oauth验证twitter流api请求吗?从现在起,我通过基本身份验证进行身份验证,我希望完全切换到oauth。另外,如果有帮助的话,我使用ruby on rails。
谢谢
最佳答案
通过oauth连接到twitter流式api与通过restapi连接的方式基本相同。假设您已经协商了访问令牌,则使用与rest请求相同的签名算法对请求进行签名并发出请求。对于流式api,最好使用基于头的oauth,而不是基于查询字符串。
下面是一个基于OAuth的签名请求示例端点:
获取http://stream.twitter.com/1/statuses/sample.json
签名基字符串示例:
Get&http%3A%2f%2fstream.twitter.com%2fsstatus%2fssample.json&oauth%json&oauth\u用户密钥%3dri8jxyk2ddwsv5xiufnnvq%26oauth身份证%3dujb0f3nhfb0f3hfkkkkjnft65xx1tzugww6q2xws4%26oauth签名方法%3dhmac-sha1%26oauth%非统身份证时间戳%3d1306947138%26oauth%26oauth非统身份证签名方法%3dhmac-sha1%26oauth非统身份证时间戳%3d1306947138%26非统身份证%2626非统身份证%26重量百分比26OAuth_版本%3d1.0
签名后授权头:
授权:OAuth OAuth_Consumer_key=“ri8jxyk2ddwsv5xiufnvq”,OAuth_nonce=“ujb0f3nhhfqkwkjxnft65xx1tzugww6q2xws4”,OAuth_signature=“bn14zlbidczsl9%2b8uv8db2vwji%3d”,OAuth_signature_method=“hmac-sha1”,OAuth_timestamp=“1306947138”,oauth_token=“819797-torckts0xk7h2y2i1ee5iofqmc4p7aayeexrtmlw”,oauth_version=“1.0”
matt harris用php编写了一些示例代码,演示如何通过oauth连接到流式api:https://github.com/themattharris/tmhOAuth/blob/master/examples/streaming.php