1 つの投稿に複数の写真を添付する必要があるアプリケーションを作成しようとしています。これらは私が試した次の試みです、
最初に、JS SDK がさまざまな機能を実現するためにfacebook-node-sdkを使用しましたが、公式の Js Sdk にはファイルをアップロードするオプションがありませんform-data
。次のコード-
var form = new FormData();
form.append('file', fs.createReadStream(picPaths[0]));
form.append('message', "Hello"); //Put message
var ACCESS_TOKEN = "ACCESS_TOKEN";
var options = {
method: 'post',
host: 'graph.facebook.com',
path: '{Object-ID}/photos' + '?access_token=' + ACCESS_TOKEN,
headers: form.getHeaders(),
}
var request = https.request(options, function(res) {
console.log(res, false, null);
});
form.pipe(request);
request.on('error', function(error) {
console.log(error);
});
これは1枚の写真で機能します。
しかし、私が開始したこの github.com/Thuzi/facebook-node-sdk/issues/113 でわかるように、複数の写真を添付することはできません。
で述べたように、バイナリ データのアップロードdantman
の下にある developers.facebook.com/docs/graph-api/making-multiple-requests というバッチ プロセスを参照してください。私に希望を与えてくれる唯一のことは、この1つの声明です。
attachment_files プロパティは、その値に添付ファイル名のカンマ区切りのリストを取ることができます。
このライブラリまたは JS SDK では (写真を使用したバッチ処理) もできないことに注意してください (間違っている場合は修正してください)
このようにcurlで画像を投稿できます。
curl -F 'access_token=ACCESS_TOKEN' -F 'batch=[{"method":"POST","relative_url":"{Object-Id}/photos","body":"message=Test Post","attached_files":"file1"}]' -F 'file1=@image1' -F 'file2=@image2' https://graph.facebook.com
上記のコードは 1 つの画像で投稿します
だから私の質問はこれです.curlの助けを借りて複数のimages/binary_filesを投稿に添付することは可能です。..."attached_files":"file1,file2"...
ドキュメントで提案されているように、この問題を手伝ってください.すでにこれを行っている場合は、あなたのコード。
ありがとう、ラヴィ