Facebook忽略共享网站链接的og:image图片。

4

我最近发现Facebook开始忽略我的网站上的og:image标签。使用的图像始终大于200x200。

这是一个示例页面:

http://bit.ly/15CrOhS

http://bit.ly/1b8Mgbe

有很多问题,但没有答案。我已添加所有的og信息并通过检查器进行了检查,一切都正常。那么它为什么要选择随机图片呢?

我使用Facebook API for PHP发送:

<?php

$link = 'http://www.mylinkaddress.com';
$msg = 'Check out my new photo. '.$link;

$get_oauth = "SELECT * FROM users_oauth_cred WHERE userid = ".$_SESSION['userid']." AND share = 1 AND oauth_access_token != ''";
$get_oauth = mysql_query_run($get_oauth);
$oauth = mysql_fetch_array($get_oauth);

# FACEBOOK
$facebook = new Facebook(array(
    'appId'  => FACEBOOKAPPID,
    'secret' => FACEBOOKSECRET,
    'cookie' => false,
));
$token = $oauth['oauth_access_token'];

try {
    $result = $facebook->api(
            '/me/feed/',
            'post',
            array('access_token' => $token, 'message' => str_replace($link,'',$msg), 'link' => $link)
    );

}
catch(FacebookApiException $e) {}

?>

请尝试按照此处描述的步骤强制重新抓取您的链接:https://developers.facebook.com/docs/opengraph/using-objects/#update - CBroe
@CBroe,我已经发布了新的链接进行测试,但图片仍然错误。 - David
你确定在进行API调用发布时没有设置picture参数吗?/ 每次都是不同的图片吗? - CBroe
@CBroe 肯定的。Facebook似乎喜欢特定的120x60广告,但有时也会选择在照片下方显示的随机照片缩略图。 - David
1
我刚通过 Graph API Explorer 进行了一次测试发布,使用你发布的第一个 bit.ly 链接 - 在我的时间线上显示出 BMW 图片,如调试工具所示,一切看起来都很正常。 - CBroe
显示剩余7条评论
5个回答

5

我遇到过同样的问题。

前往Facebook对象调试器,核对并解决所有指出的问题。这样可以解决我的问题。

http://goo.gl/ASBsAa


调试器没有问题。 - David
我第一次查看时,它返回了相当多的内容。今天仅显示此警告:http://prntscr.com/1ta5dz但是,当我使用链接进行测试时,它正确地呈现了图像:http://prntscr.com/1ta4xx - Gilberto Soares Filho

2

使用Facebook Graph API Explorer测试您的查询对我来说很顺利。

您可以尝试向您的帖子添加附加参数“picture”,并在其中放置图像链接。

这样,Facebook就会强制将其用作帖子中的图片。

$result = $facebook->api(
            '/me/feed/',
            'post',
            array('access_token' => $token, 'message' => str_replace($link,'',$msg), 'link' => $link, 'picture' => 'http://images.ephotozine.com/gallery/2011/49/normal/52194_1323334048.jpg')
    );

1
我已经做了一个临时解决方案,但理想情况下,Facebook需要使用我的og:image元标记。 - David

1

通过阅读这里的所有评论,我认为发生的情况如下。 让我知道我有多接近。这是个瞎猜。;)

第一次向Facebook分享URL时,og:image没有完美设置,Facebook选择了页面上的随机图像并缓存了它。

然后您修复了og:image标签,并尝试检查相同的URL。FB然后再次显示缓存的图片。

我刚刚使用您的两个链接进行了尝试,一切似乎都很好。

:{D


刚刚也遇到了同样可怕的经历。似乎 FB 缓存了不应该缓存的东西! - slott

0
经过许多测试和尝试其他批量上传工具等,最终决定通过电子邮件向 Facebook 发送详细信息和截图。第二天问题得到了解决。因此,请确保通过您的 Facebook 帐户的帮助电子邮件尝试该方法。对我起作用了。

0

请耐心等待。Facebook需要一些时间来爬取这张图片。它不会立即在Facebook上显示出来。如果您的图片在几天内仍未显示,请在这里留言。


@Igy 没错,所以我不明白为什么它没有选择正确的照片。调试器显示我传递了足够大的照片。 - David
1
现在对我来说运行良好 - 当我将URL粘贴到Facebook消息框中时,预览会显示包括图像。 - CBroe
@CBroe 没问题,但是如果我通过 Facebook API for PHP 分享链接,它不会显示出来。它会随机选择一张照片而不是使用链接的 og:image。 - David
使用FB.uimethod:"feed"进行分享时,效果良好。请展示您用于通过API分享的代码。(不要在评论中展示,请在问题中更新。) - CBroe
@CBroe 的例子已添加。 - David
显示剩余3条评论

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