每当我使用facebook的调试工具在对象上发布“操作”时,我确实会为每个操作获得一个不同的id,但在facebook上只看到一个帖子。为什么会这样呢?
发布于 2012-10-25 21:26:22
是的,每个og对象都应该有一个不同的URL。每个og对象都需要有不同的og:xxxxxx标记。考虑一下RottenTomatoes上的这些og对象:
查看这些页面的源代码,您将看到og:image和其他og:标记。
这些都是动态网页的好例子。
请在评论中回答您的后续问题:
通过更改x.php?a=0标记,可以使x.php?a=1成为一个与<meta>不同的对象,并且它将很好地传递FB调试器。
例如,我创建了以下动态对象:
http://plooza.com/og/dynamic1.php?obj=0
http://plooza.com/og/dynamic1.php?obj=1
当我在调试器中输入这些og对象/URL时,它会对它们进行擦拭和解析,并将它们识别为不同的对象,因为我是在When服务器上这样做的:
$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中obj的值更改了dynamic1.php?obj=
当我向调试器提交http://plooza.com/og/dynamic1.php?obj=1时,它显示的og:image与obj=0不同
https://stackoverflow.com/questions/13067899
复制相似问题