我有这个脚本,我用我的用户在Facebook上分享我的网站的URL。我使用FB.ui的提要对话框,因为我需要完成两件事:
代码有效。将显示对话框,其中包含正确的图像和文本,并且在发布时会调用回调。
问题是:当我去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");
}
}
);
}
[...]
};
我尝试过使用不同的图片(PNGs and JPGs,所有图片都在我的网站上托管,not on Facebook's CDN)。它们都显示在对话框中,但它们不会显示在Facebook上。
在我最近的尝试中,我尝试在Feed对话框和共享的网址的og:image
标记上使用相同的图片(使用相同的网址),但仍然没有。
可能是什么问题?
答案 0 :(得分:6)
您必须删除源参数。
您应提供的要求:
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
},
在这里你可以看到Facebook的结果:
答案 1 :(得分:1)
图片参数不再可用。现在已弃用。 现在我们无法使用Feed来分享图像。
使用带有href =“Image URL”
的FB.ui共享方法答案 2 :(得分:0)
当你搜索fb ui和图像问题时这个问题出现在顶部,我的问题是你不能在图像中有ssl url,所以不要添加https url,它必须是http。 Facebook代理向用户显示的图像请求,因此即使您从非SSL网址提供服务,Facebook中使用的图像也会通过SSL覆盖用户。