如何使用FB.ui提要对话框在Facebook上共享图像?

El *_*rto 3 javascript facebook facebook-graph-api fb.ui

我有这个脚本,我用我的用户在Facebook上分享我的网站的URL.我使用FB.ui的feed对话框,因为我需要完成两件事:

  1. 与图像共享消息
  2. 具有回调函数以在共享链接时进行注册(这为用户提供了信用).

代码有效.将显示对话框,其中包含正确的图像和文本,并且在发布时会调用回调.

问题是:当我去Facebook时,帖子没有任何图像.

这是脚本:

var Listen = {

    [...]

    share_fb: function() {
        var self = Listen;
        var msg = 'I just voted "' + self._song.name + '" by ' + 
                self._song.artist + ' to win a ' + self._song.prize + 
                ' on My Website.';
        FB.ui(
            {
                method: 'feed',
                name: 'Come Listen to this Song',
                link: url_base + '/listen',
                picture: self._song.share_img,
                source: self._song.media,
                caption: 'mywebsite.com',
                description: msg,
                message: msg
            },
            function(response) {
                if (response && response.post_id) {
                    self.register_share('facebook');
                } else {
                    console.log("Post not shared");
                }
            }
        );
    }

    [...]
};
Run Code Online (Sandbox Code Playgroud)

我试过不同的图像(PNG和JPG,都在我的网站托管,而不是在Facebook的CDN上).它们都显示在对话框中,但它们不会显示在Facebook上.

在我最近的尝试中,我尝试在提要对话框和og:image共享的URL 的标记上使用相同的图像(具有相同的URL),但仍然没有.

可能是什么问题?

Hup*_*uer 6

您必须删除source参数.

您应该提供的要求:

    FB.ui(
        {
            method: 'feed',
            name: 'Come Listen to this Song',
            link: url_base + '/listen',
            picture: self._song.share_img,
            caption: 'mywebsite.com',
            description: msg,
            message: msg
        },
Run Code Online (Sandbox Code Playgroud)

摘要


单击此图像以在Graph Explorer中尝试它 参数


在这里你可以看到Facebook的结果:

结果

  • 图片参数**不再可用**https://developers.facebook.com/docs/sharing/reference/feed-dialog (2认同)