如何让Facebook显示所有OG图像?

时间:2016-04-20 15:01:37

标签: facebook facebook-graph-api facebook-javascript-sdk facebook-opengraph opengraph

我创建了一个图库页面,我想让用户通过Facebook分享它。要显示缩略图,我在元标记中使用OG图像(根据链接动态添加它们)。

我的问题是,当我与Javascript SDK共享链接以及通过复制和首次将其粘贴到时间线时共享链接时,Facebook将仅显示第一个OG图像。

如果我第二次复制并粘贴和链接到时间线(也可以是另一个Facebook用户),它将显示所有OG图像,可以选择在它们之间导航(左箭头和右箭头),但是第二次,第三次,第n次与Javascript SDK共享的相同链接仍将仅显示第一个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' />
    ";
  }

1 个答案:

答案 0 :(得分:1)

你无能为力; Facebook决定如何显示它。

顺便说一下,你最有可能在这里创建一个XSS漏洞(如果这是你的实际代码)是你希望我知道的东西吗? (我指的是输出$_SERVER[REQUEST_URI]的部分,没有任何进一步的检查或转义/屏蔽。)