Actualización de Twitter con medios con request.js

Estoy intentando publicar un update_with_media en twitter con node.js y request.js. Me gustaría publicar la imagen en base64 codificar:

var request = require('request'); var r = request.post({ url: "https://api.twitter.com/1.1/statuses/update_with_media.json", oauth: { consumer_key: '...', consumer_secret: '...', token: '...', token_secret: '...' } }, function(err, response, body) { return console.log(err, body); }); var form = r.form(); form.append("status", "Test..."); form.append("media[]", "..."); 

Desafortunadamente me sale un error: ‘{“errores”: [{“código”: 189, “mensaje”: “Error al crear el estado.”}]}’ Antes de intentar publicar una actualización normal sin una imagen. Esto funcionó bien.

¿Qué estoy haciendo mal?

Echando un vistazo a adaline / twitter_update_with_media.coffee ayudó: La solución de trabajo se ve así:

  var buffer = new Buffer(imageData, 'base64'); var r = request.post({ url: "https://api.twitter.com/1.1/statuses/update_with_media.json", oauth: { consumer_key: '...', consumer_secret: '...', token: '...', token_secret: '...' } }, function(err, response, body) { return console.log(err, body); }); var form = r.form(); form.append('status', "TEST..."); form.append('media[]', buffer);