如何让 Facebook 显示所有 OG 图片?
How to make Facebook display all the OG images?
我创建了一个画廊页面,我想让用户通过 Facebook 分享它。为了显示缩略图,我在元标记中使用了 OG 图像(根据 link 动态添加它们)。
我的问题是,当我使用 Javascript SDK 分享 link 以及第一次通过复制粘贴到时间线来分享 link 时,Facebook只会显示第一张OG图
如果我第二次复制和粘贴 link 到时间线(也可以是另一个 facebook 用户),它将显示所有 OG 图像,并可以选择在它们之间导航(左和向右箭头),但与 Javascript SDK 共享的 link 第 2、3、n 次仍将仅显示第一个 og 图像。
这是我页面构建的相关部分:
echo"
<meta property='fb:app_id' content='XXXXXXX' />
<meta property='og:title' content='My $VAR1 album' />
<meta property='og:type' content='website' />
<meta property='og:url' content='http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]'
<meta property='og:description' content='This is my album with my photos from $VAR1.' />
";
foreach($db->query("SQL QUERY") as $row)
{
echo "
<meta property='og:image' content='http://linktoimage_$row[0]' />
<meta property='og:image:height' content='350' />
<meta property='og:image:width' content='1200' />
";
}
对此你无能为力; Facebook 决定如何显示它。
顺便说一句,我希望你知道你很可能在这里创建了一个 XSS 漏洞(如果那是你的实际代码)? (我指的是你输出 $_SERVER[REQUEST_URI]
没有任何进一步检查或 escaping/masking 的部分。)
我创建了一个画廊页面,我想让用户通过 Facebook 分享它。为了显示缩略图,我在元标记中使用了 OG 图像(根据 link 动态添加它们)。
我的问题是,当我使用 Javascript SDK 分享 link 以及第一次通过复制粘贴到时间线来分享 link 时,Facebook只会显示第一张OG图
如果我第二次复制和粘贴 link 到时间线(也可以是另一个 facebook 用户),它将显示所有 OG 图像,并可以选择在它们之间导航(左和向右箭头),但与 Javascript SDK 共享的 link 第 2、3、n 次仍将仅显示第一个 og 图像。
这是我页面构建的相关部分:
echo"
<meta property='fb:app_id' content='XXXXXXX' />
<meta property='og:title' content='My $VAR1 album' />
<meta property='og:type' content='website' />
<meta property='og:url' content='http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]'
<meta property='og:description' content='This is my album with my photos from $VAR1.' />
";
foreach($db->query("SQL QUERY") as $row)
{
echo "
<meta property='og:image' content='http://linktoimage_$row[0]' />
<meta property='og:image:height' content='350' />
<meta property='og:image:width' content='1200' />
";
}
对此你无能为力; Facebook 决定如何显示它。
顺便说一句,我希望你知道你很可能在这里创建了一个 XSS 漏洞(如果那是你的实际代码)? (我指的是你输出 $_SERVER[REQUEST_URI]
没有任何进一步检查或 escaping/masking 的部分。)