问题描述
我有一个Node应用程序,它向Twitter的account/update_profile_image端点发出请求。
在此过程中,我需要使用OAuth 1.0a。
我使用了this guide on setting up OAuth with Node。
这是我的代码:
function setTwitterProfileImage(imageBase64) {
var endpoint = `https://api.twitter.com/1.1/account/update_profile_image.json?image=${imageBase64}`
var oauth = new OAuth.OAuth(
'https://api.twitter.com/oauth/request_token','https://api.twitter.com/oauth/access_token',process.env.ACCESS_TOKEN,process.env.TOKEN_SECRET,'1.0A',null,'HMAC-SHA1'
);
oauth.get(
endpoint,process.env.CONSUMER_KEY,process.env.CONSUMER_SECRET,function (error,data,response){
if (error) console.error(error);
data = JSON.parse(data);
console.log(JSON.stringify(data,2));
});
}
和错误:
{
"errors": [
{
"code": 89,"message": "Invalid or expired token."
}
]
}
当我在失眠症中使用完全相同的URL和凭据时,这是一个有效的请求并且可以正常工作。
我假设我对oauth的初始化存在问题,因为唯一的区别是Insomnia如何处理随机数和签名。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)