如何使用FB.ui feed对话框在Facebook上分享图片?

5
我有一个脚本,用于让我的用户在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");
                }
            }
        );
    }

    [...]
};

我尝试使用不同的图片(PNG和JPG),它们都托管在我的网站上,而不是Facebook的CDN。它们都显示在对话框中,但在Facebook上却没有显示出来。
在最新的尝试中,我尝试在动态消息对话框和分享的URL的og:image标签中使用相同的图片(具有相同的URL),但仍然没有效果。
可能的问题是什么?

3
你不被允许以任何方式奖励用户进行分享,这将违反平台政策。首先,你应该阅读平台政策。原文中的“(this gives credits to the user)”可以翻译为“这会给用户积分”。 - CBroe
谢谢指出,我会检查一下我的应用程序的那部分。 - El Barto
请问您能否提供一个示例图像在您的基础设施上托管的URL? - Hupfauer
是的,这里它是:http://dev.louderband.com/img/contest/pau-share.jpg - El Barto
3个回答

8

您必须删除源参数。

您应该提供的请求:

    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
        },

摘要


点击该图像以在Graph Explorer中尝试 参数


这是在Facebook中的结果:

结果


2
图片参数不再可用。请参考https://developers.facebook.com/docs/sharing/reference/feed-dialog。 - priki

1

图片参数不再可用。现在已经废弃。 现在我们无法使用feed来分享图片。

相反,请使用href =“Image URL”的FB.ui共享方法。


0

由于当您搜索fb ui和图像问题时,此问题会浮现到顶部。我的问题是您不能在图像中使用SSL URL,因此请不要添加https URL,它必须是http。Facebook代理它向用户显示的图像请求,因此即使您从非SSL URL提供服务,Facebook中使用的图像也会通过SSL到达用户。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接