1

我正在使用这段代码:

function postProductToFB(url) {
    // calling the API ... 
    var obj = {
        method: 'feed',
        link: url,
        // values commented out can be added in specifically if required
        //picture: '-pre-filled image',
        //name: 'pre-filled title',
        //caption: 'pre-filled caption',
        //description: 'pre-filled description',
        to: 'page ID',
        from: 'page ID'
    };

    function callback(response) {
        //document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
    };

    FB.ui(obj, callback);
};

通过我网站上的链接在我自己的墙上发布产品。

我故意将大部分参数留空(注释掉),以便 Facebook 可以自动从我的网页中抓取它们。

但是,它经常选择“错误”的缩略图来显示。

有什么方法可以让它显示它在页面上找到的图像选择,就像我将 URL 粘贴到我的状态更新字段中一样?

编辑,澄清

这就是我通过状态或链接更新将 URL 直接发布到 Facebook 时发生的情况

然而:

如果我使用 JS SDK 和上面的代码发布,这就是我得到的。

在这个特定的例子中,它选择了正确的图像,但您可以从顶部屏幕截图中看到实际上有 4 张图像可供选择。这四个图像中的每一个都使用等显式编码到Head文档中。<meta name="" property="og:image" content="IMAGE URL">

4

1 回答 1

0

Facebook 依靠 Open Graph 标签来绘制来自网站的图片。如果没有标签,facebook 会加载页面上的所有图像供用户选择。

参考https://developers.facebook.com/docs/opengraphprotocol/

于 2012-06-18T18:22:39.637 回答