joh*_*ohn 6 twitter oauth twitter-oauth
我已成功通过OAuth流程获取访问令牌.
但是,当我尝试对/statuses/update.json端点运行POST时,我收到"无法使用OAuth进行身份验证".
我正在使用我的消费者秘密进行身份验证后获得的令牌签名,我不明白还有什么.
Twitter论坛也没有帮助.
任何提示将非常感谢.
对 Twitter 进行经过身份验证的调用可能会很痛苦。
确保签名基本字符串中的参数按字母顺序排列。
拿着它:
oauth_consumer_key={consumerkey}&oauth_nonce={nonce}&oauth_signature_method=HMAC-SHA1&oauth_timestamp={timestamp}&oauth_token={token}&oauth_version=1.0&status={tweet text}
Run Code Online (Sandbox Code Playgroud)
填写值,用 Base64 进行编码,然后将它们组合在一起,如下所示:
POST&{base64 encoded url}&{base64 encoded base string}
Run Code Online (Sandbox Code Playgroud)
这将是您需要签名的字符串(不带括号)。(本例中的 URL 为https://api.twitter.com/1.1/statuses/update.json)
签名密钥需要像这样构建:
{consumer secret}&{token secret}
Run Code Online (Sandbox Code Playgroud)
签名是 HMACSHA1 哈希值,然后进行 Base64 编码。
然后您需要将其放入授权标头中:
OAuth oauth_consumer_key="{consumer key}",oauth_nonce="{nonce}",oauth_signature="{signature}",oauth_signature_method="HMAC-SHA1",oauth_timestamp="{timestamp}",oauth_token="{token}",oauth_version="1.0"
Run Code Online (Sandbox Code Playgroud)
最后将status=your tweet text
作为发布的数据放入您的请求中。
我希望这有帮助。
归档时间: |
|
查看次数: |
2128 次 |
最近记录: |