我正在尝试推文(base64编码)。
为了简化操作,我使用https://github.com/oauth-io/oauth-js来处理API请求
不推荐使用POST状态/ update_with_media。 Twitter建议:
关注
Uploading media guide <rest/media/uploading-media>
__ 上传一个或多个媒体实体,然后使用POST statuses/update </rest/reference/post/statuses/update>
__将它们附加到推文
https://dev.twitter.com/rest/reference/post/statuses/update_with_media
我的代码:
OAuth.initialize('xxxxxxxxxxxx');
OAuth.popup('twitter')
.done(function (result) {
result.post('https://upload.twitter.com/1.1/media/upload.json', {
data: {
media_data: xxxxxxxxxxxxxxx //base64-encoded string
}
})
.done(function (response) {
//this will display the id of the message in the console
console.log(response.media_id);
OAuth.popup('twitter')
.done(function (result) {
result.post('https://api.twitter.com/1.1/statuses/update.json', {
data: {
status: 'test',
media_ids: response.media_id
}
})
.done(function (response) {
//this will display the id of the message in the console
console.log(response);
})
.fail(function (err) {
//handle error with err
});
})
.fail(function (err) {
//handle error with err
});
})
.fail(function (err) {
//handle error with err
});
})
.fail(function (err) {
//handle error with err
});
结果:我可以收到media_id,表示图片上传成功(第一个终点)。但是第二个端点出现“400 Bad Request”错误。
任何建议都表示赞赏。