如何在Open Graph中将多个图像设置为一个对象?

时间:2012-10-29 14:48:03

标签: facebook object action opengraph

OpenGraph: 我有一个对象A,我做了两个不同的动作:B和C. 对象与两个动作都有相同的URL,但我想设置不同的图标(og:image)。

有可能吗?

3 个答案:

答案 0 :(得分:1)

是的,当然可能。在发布操作时,将object_url传递给您可以获取的image参数,并将其放在对象脚本中的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>

答案 1 :(得分:0)

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

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

https://graph.facebook.com/me/mywhiskyapp:buy?whisky=http://samples.ogp.me/306369449462168&access_token= [...]&安培;方法=交&安培;图像[0] [URL] HTTP =://img.diytrade.com/cdimg/339590/1362083/0/1144228175/WHISKY.jpg

答案 2 :(得分:0)

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