我使用的是twitter-lite库,我想更新Twi配置文件图片。
现在我正在尝试这个:
var fs = require('fs');
var Twit = require('twitter-lite');
var T = new Twit({
consumer_key: '',
consumer_secret: '',
access_token: '',
access_token_secret: ''
});
var image64str = fs.readFileSync('kitten.jpg', {encoding: 'base64'});
T.post('account/update_profile_image', { image: image64str }, function(err) {
if(err) {console.error(err); return;}
console.log('done');
});但我得到了以下错误:
/Users/huyvunguyen/node_modules/node-fetch/lib/index.js:272返回Body.Promise.reject(新FetchError(invalid json response body at ${_this2.url} reason: ${err.message},‘无效- JSON’);^ FetchError:https://api.twitter.com/1.1/account/update_profile_image.json原因处的无效json响应主体:在/Users/huyvunguyen/node_modules/node-fetch/lib/index.js:272:32 at processTicksAndRejections处意外结束json输入(节点:内部/进程/任务队列:96:5){ type:‘无效-json’}
有人知道我怎么调试这个吗?
发布于 2021-07-16 13:47:44
我不知道到底是什么导致了这个错误。它也发生在我的结尾。
但是twitter-api-client对相同的代码工作得完美无缺。也许这是一个特定于库的错误。
此外,.post方法在twitter-lite中不需要回调。更多信息,这里。
下面是您可以使用的内容:
var fs = require('fs');
const { TwitterClient } = require('twitter-api-client')
var image64str = fs.readFileSync('pic.jpg', {encoding: 'base64'});
client = new TwitterClient({
apiKey: '',
apiSecret: '',
accessToken: '',
accessTokenSecret: ''
})
client.accountsAndUsers.accountUpdateProfileImage({image: image64str}).catch(e=>console.log(e)).then(res => console.log(res))https://stackoverflow.com/questions/68408441
复制相似问题