我已按照 Facebook 檔案請求訪問令牌并發布到Facebook 頁面。
現在,我想創建一個帖子并將一些照片附加到該帖子中,但 Facebook 僅發布文本正文,不包括照片檔案。
這是我如何做到的:
...
let mediaIds = [];
for (let photoUrl of photoUrls) {
let mediaUploadUrl = `https://graph.facebook.com/${pageId}/photos?url=${photoUrl}&access_token=${pageAccessToken}`;
let response = await axios.post(mediaUploadUrl);
let { id } = response.data;
if (id) {
mediaIds.push(id);
}
}
// Now that we have the mediaIds, let's attach them to the post as below:
let urlParams = new URLSearchParams();
urlParams.append("access_token", pageAccessToken);
urlParams.append("message", "Hello World");
let postUrl = `https://graph.facebook.com/${pageId}/feed`;
if (mediaIds.length > 0) {
for (let i = 0; i < mediaIds.length; i ) {
let mediaId = mediaIds[i];
let mediaIdObject = { media_fbid: mediaId };
urlParams.append(`attached_media[${i}]`, mediaIdObject);
}
}
try {
let { data } = await axios.post(postUrl, urlParams);
let postId = data.id;
} catch (e) {
done = false;
console.log(e); //An unknown error has occurred is the error message I keep getting
}
...
我不斷得到的回報是
出現未知錯誤
但是,如果我轉到Facebook Page,我注意到已發布文本正文但未發布照片附件。
任何解決此問題的想法將不勝感激。
uj5u.com熱心網友回復:
將物件附加到urlParams,就像您在
let mediaIdObject = { media_fbid: mediaId };
urlParams.append(`attached_media[${i}]`, mediaIdObject);
產生一個 URL 引數,如
attached_media[0]=[object Object]
用
urlParams.append(`attached_media[${i}]`, JSON.stringify(mediaIdObject));
反而。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/322559.html
標籤:javascript 节点.js Facebook 表达 facebook-graph-api
