为什么我的活动中只有一个OpenGraph实例?

时间:2012-10-25 11:47:30

标签: facebook opengraph

每当我使用facebook的debug tool对某个对象发布“操作”时,我会为每个操作获得不同的 id ,但在facebook上只能看到一个帖子。那是为什么?

1 个答案:

答案 0 :(得分:1)

是的,每个og对象都应该有一个不同的URL。无论如何,每个og对象都需要有不同的og:xxxxxx标签。在RottenTomatoes上考虑这些og对象:

http://www.rottentomatoes.com/celebrity/tom_hanks

http://www.rottentomatoes.com/celebrity/meg_ryan

查看这些网页的来源,您会看到og:image和其他og:代码。

这些也是动态网页的好例子。

在评论中回答您的后续问题:

通过更改x.php?a=0标记,您可以使x.php?a=1成为与<meta>不同的对象,并且它会通过FB Debugger就好了。

例如,我创建了这些动态对象:

http://plooza.com/og/dynamic1.php?obj=0

http://plooza.com/og/dynamic1.php?obj=1

当我将这些og对象/ URL输入调试器时,它会抓取并解析它们并将它们识别为不同的对象,因为我在网络服务器上这样做:

$obj_number = (int)$_REQUEST['obj'];
echo '<meta property="og:url" content="http://www.plooza.com/og/dynamic1.php?obj='.$obj_number.'" />';

switch ($obj_number) {
  case 1:
    $url = 'http://img2.10bestmedia.com/Images/Photos/68906/bar-one-exterior_6_400x400.jpg';
    break;
  default:
    $url = 'http://cdn.ghacks.net/wp-content/uploads/2010/06/microsoft-default-manager22.png';
    break;
}
echo '<meta property="og:image" content="'.$url.'" />';

请注意,我已根据og:url

og:image的值更改了objdynamic1.php?obj=

当我向调试器提交http://plooza.com/og/dynamic1.php?obj=1时,它会显示与og:image

时不同的obj=0