Twitter上传媒体返回状态码400

时间:2016-01-08 14:51:21

标签: node.js twitter

我正在尝试使用Twitter的媒体上传API将图像上传到Twitter帐户。我在nodejs上使用node-twitter模块。

这是我正在使用的代码

fs.writeFile("out.png", base64String, 'base64', function (err) {
                console.log(err);                
            });

var data = fs.readFileSync("out.png");

// Make post request on media endpoint. Pass file data as media parameter
client.post('media/upload', {media: data}, function(error, media, response){

  if (!error) {

    // If successful, a media object will be returned.
    console.log(media);

    // Lets tweet it
    var status = {
      status: 'I am a tweet',
      media_ids: media.media_id_string // Pass the media id string
    }

    client.post('statuses/update', status, function(error, tweet, response){
      if (!error) {
        console.log(tweet);
      }
    });

  }
  else{
     console.log(error);
  }
});

1 个答案:

答案 0 :(得分:0)

响应代码400代表“错误请求”因此我认为您的帖子格式错误,最有可能是您加载图片的方式。只是尝试删除

{error, Reason}

因为它试图写入文件而不是从磁盘中读取文件