【问题标题】:How to set more than one image in OpenGraph to one object?如何将 OpenGraph 中的多个图像设置为一个对象?
【发布时间】:2012-10-18 21:42:48
【问题描述】:

开放图: 我有一个对象 A,我对它进行了两种不同的操作:B 和 C。 对象对两个动作都有相同的 url,但我想设置不同的图标 (og:image)。

有可能吗?

【问题讨论】:

    标签: facebook object action facebook-opengraph


    【解决方案1】:

    是的,当然可以。在发布操作时,传递带有图像参数的 object_url,您可以获取该参数并将其放入对象脚本中的 og:image 标记中。 例如,如果您使用:

    发布动作:

    $facebook->api("me/app_namaspace:action_name","POST",array('object_name'=>"$object_url?pic=$image_url, 'access_token'=>$access_token));
    

    假设 object_name.php 有对象元标记:

    //object_name.php
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# postappfg: http://ogp.me/ns/fb/app_namespace#">
    <title></title> 
      <meta property="fb:app_id"     content="appid" /> 
      <meta property="og:type"       content="app_namespace:object_name" /> 
      <meta property="og:title"      content="title" />
      <meta property="og:image"      content="<?php echo $_GET['pic'];?>"/> 
       </head>
    

    【讨论】:

    • 为什么?您使用的是哪种编程语言?
    【解决方案2】:

    如果我们遵循 Open graph 协议,一个 Open Graph 对象由一张图片定义。但它存在一种改变 Open Graph 对象图片的方法:

    为您的对象定义一个默认的 og:image,因为它是强制性的,并且当您发布活动时,您必须添加一个带有图片 URL 的“image[0][url]”属性。 og:image 图片将被覆盖。示例:

    https://graph.facebook.com/me/mywhiskyapp:buy?whisky=http://samples.ogp.me/306369449462168&access_token=[...]&method=post&image[0][url]=http: //img.diytrade.com/cdimg/339590/1362083/0/1144228175/WHISKY.jpg

    【讨论】:

      【解决方案3】:

      Smita 你忘记了缓存。一旦对象被注册, og:image 就是曾经注册的,而不是新的。当然如果你使用 Facebook 调试器你会看到不同的画面,但这是因为 Facebook 调试器“重新抓取”对象并重置数据。

      【讨论】:

        猜你喜欢
        • 2018-04-26
        • 1970-01-01
        • 2014-08-10
        • 1970-01-01
        • 2019-07-19
        • 1970-01-01
        • 1970-01-01
        • 2020-12-07
        • 2022-12-10
        相关资源
        最近更新 更多