我一直在尝试创建一个需要将多张照片附加到一个帖子的应用程序。这些是我尝试过的以下尝试,
首先,我使用facebook-node-sdk JS SDK 来实现不同的功能,但是官方 Js Sdk 没有上传文件的选项,然后我在 的帮助下将照片本身附加/插入到 HTTP form-data
POST以下代码-
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);
});
这适用于一张照片。
但是正如您在我开始的这个 github.com/Thuzi/facebook-node-sdk/issues/113 中看到的那样,不可能附加一张以上的照片。
因此,正如dantman
我所说的在批处理中查找,可以在 Developers.facebook.com/docs/graph-api/making-multiple-requests 中找到标题为Uploading binary data的内容。打击并给我希望的一件事是这句话。
attach_files 属性可以在其值中采用逗号分隔的附件名称列表。
请注意,此库或 JS SDK 也无法使用此库或 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
上面的代码发布了一张图片
所以我的问题是,可以在 curl 的帮助下将多个图像/binary_files 附加到帖子中,就像..."attached_files":"file1,file2"...
文档所建议的那样,请帮助我解决这个问题,如果你已经这样做了,请发布快照你的代码。
谢谢,拉维