2

猫の写真を送れる Facebook チャットボットを作ろうとしています。猫の写真を取得するためにRESTful APIを使用します。それらは生の png として返されます。次の最後のステップは、その画像を読み取り可能なストリームに変換して、Facebook チャット APIが添付ファイルとして送信できるようにすることです。

request.jsイメージをつかむのに使っています。Request のドキュメントでは、画像をファイルとして保存し、ファイルを に読み込むことについてのみ言及していますstream.Readable。その一時ファイルをバイパスして、画像を Facebook チャット API に直接パイプする方法はあるのだろうか。

これまでの私のコードは次のとおりです。

var request = require("request");
var stream = require("stream");

module.exports = function getCatPicture(api, threadID, body) {
    var options = {
        url: 'http://thecatapi.com/api/images/get?type=png',
        encoding: 'base64'
    }
    var picStream = new stream.Readable;
    request.get(options, function (error, response, body) {
        picStream.push(body, 'base64');
        var catPic = {
            attachment: picStream
        };
        api.sendMessage(catPic, threadID);
        return;
    });
}

エラーが発生します:

Error in uploadAttachment Error: form-data: not implemented
Error in uploadAttachment     at Readable._read (_stream_readable.js:457:22)
Error in uploadAttachment     at Readable.read (_stream_readable.js:336:10)
Error in uploadAttachment     at flow (_stream_readable.js:751:26)
Error in uploadAttachment     at resume_ (_stream_readable.js:731:3)
Error in uploadAttachment     at nextTickCallbackWith2Args (node.js:442:9)
Error in uploadAttachment     at process._tickCallback (node.js:356:17)
Error in uploadAttachment  { [Error: form-data: not implemented]
Error in uploadAttachment   cause: [Error: form-data: not implemented],
Error in uploadAttachment   isOperational: true }
4

1 に答える 1