首页 > 解决方案 > 在 JavaScript 中使用 fetch 通过 Twitter API 的 Auth1.0a

问题描述

我正在尝试使用“node-fetch”库更改我在 Twitter 上的横幅,但我无法通过在 Twitter 上发布内容所需的 Authentification 1.0a。我最后一次尝试是使用 headers.Authorization = "OAuth ACCESS_TOKEN ACCESS_SECRET" 但它失败了。所以我的问题是,在“node-fetch”中使用 Auth1.0a 的正确方法是什么?

先感谢您!

顺便提一句。代码中的 ACCESS_TOKEN 和 ACCESS_SECRET 不是我的,而是随机输入的。

fetch(`https://api.twitter.com/1.1/account/update_profile_banner.json`, {
    method: 'POST',
    body: {
        banner: b64,
    },
    headers: {
        Authorization: "OAuth 2123123415-kbZfcGdHqKxTLlazrgQtzhzhKgHhjgtrLZq6789gui th67jz27z7gh3xhr5ghhgjj1gjHNMthtzuthfnOp3hJwhS5frx"
    }
}).then(results => results.json()).then(data => console.log(data))

标签: javascriptnode.jsapitwitterfetch

解决方案


这是他们文档中的示例授权标头:
Authorization: OAuth oauth_consumer_key="xvz1evFS4wEEPTGEFPHBog", oauth_nonce="kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg",oauth_signature="tnnArxj06cWHq44gCs1OSKk%2FjLY%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1318622958", oauth_token="370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb", oauth_version="1.0"

如您所见,还有更多领域需要考虑,我建议您仔细阅读文档。您的 Auth 标头的位置是正确的。


推荐阅读