我正在尝试向twitter api端点发出oauth请求
URL: //https://ads-api.twitter.com/{{version}}/accounts/{{account_id}}?
为此,我创建了一个oauth对象
this.oauth = {
consumer_key: functions.config().twittercredentials.apikey,
consumer_secret: functions.config().twittercredentials.apisecretkey,
access_token: accessToken,
token_secret:tokenSecret
}
然后使用axios,我正在做类似的事情
const accountID = this.accountID
const oauth = this.oauth
console.log(`Oauth object:`, oauth)
//https://ads-api.twitter.com/{{version}}/accounts/{{account_id}}?
const response = await axios.get(`https://ads-api.twitter.com/${twitterApiVersion}/accounts/${accountID}`, {
oauth
})
console.log(`Response from twitter Api Service:`, response)
这将引发401错误。
我能够通过邮递员使用相同的凭据发出请求,因此我确信我发出请求的方式存在问题
答案 0 :(得分:1)
当前无法使用OAuth2对用户进行身份验证。在您链接到的文档页面上(详细信息POST oauth2/token
)
允许注册的应用获得OAuth 2承载令牌,该令牌可用于在没有用户上下文的情况下独自代表应用发出API请求。这称为仅应用程序身份验证。
(重点是我的)