【问题标题】:How to attach Media to a Facebook Post using the API如何使用 API 将媒体附加到 Facebook 帖子
【发布时间】:2021-10-10 01:33:12
【问题描述】:

我已按照 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 页面,我注意到正文已发布,但照片附件却没有。

任何解决此问题的想法将不胜感激。

【问题讨论】:

    标签: javascript node.js facebook express facebook-graph-api


    【解决方案1】:

    将对象附加到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));
    

    改为。

    【讨论】:

    • 是的,我已经这样做了,而且成功了。谢谢。
    猜你喜欢
    • 2011-04-19
    • 2018-05-09
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多