如何使Facebook显示所有OG图像



我已经创建了一个图库页面,我想让用户能够在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' />
    ";
  }

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


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

最新更新