我正在创建一个支持Facebook的游戏,用户可以发布“朋友通行证”;玩家将能够(自动)发布的内容,例如:'我在MY_GAME上通过James Brown'。我正在使用Open Graph发布我的操作。我创建了一个名为'pass'的动作和一个名为'friend'的对象。这是我的属性(其中'friendpass'是朋友参考):
我正在尝试发布诸如“迈克尔在MY_GAME上传递朋友”等动作,并标记我传递的朋友[s?]。如何启用此功能?目前,我已经设置了一个页面(实际上只是元标记)渲染器,这是一个示例渲染页面:
<html and other headers...>
<meta property="fb:app_id" content="345390505541783">
<meta property="og:type" content="smileys-game:friendpass">
<meta id="ogurl" property="og:url" content="http://apps.canpoyrazoglu.com/smileys/pass/mehmet/sucuk">
<meta property="og:title" content="Friend passed!">
<meta property="og:image" content="https://s-static.ak.fbcdn.net/images/devsite/attachment_blank.png">
<meta id="friendid" property="smileys-game:friend" content="735475141">
<meta id="ogdesc" property="og:description" content="something comes here.">
<rest of header and page...>
我使用调试工具来获取Facebook看到的内容,并且作为Graph API调用有一个指向该操作的链接。单击它时会返回OAuth错误,当我将该URL键入Graph API资源管理器时,我得到了:
Graph API将我的“朋友”对象视为网页,实际上是对Facebook ID(我自己的ID)的引用。如何使用有用的朋友ID并在帖子中链接到朋友?
谢谢, 可以。
答案 0 :(得分:3)
创建操作类型时,需要使用profile
对象类型(也称为连接对象类型)。在这里,我创造了我的动词,以及#35;高五&#34;一个人:
将自动配置对象类型,因为profile
是FB提供的内置对象类型。因此,您不必配置对象类型,除非您需要高级设置。
然后创建聚合:
然后,对象的og元标记需要使用类型profile
(此示例的文件路径为/og/profile2.html):
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# high_fiver: http://ogp.me/ns/fb/high_fiver#">
<meta property="fb:app_id" content="27877347222" />
<meta property="og:url" content="http://www.rottentomatoes.com/celebrity/tom_hanks/" />
<meta property="og:type" content="profile" />
<meta property="og:title" content="Tom Hanks" />
<meta property="og:description" content="Tom Hanks profile on RT" />
<meta property="og:image" content="http://content6.flixster.com/rtactor/40/37/40376_pro.jpg" />
请注意,您可以指向任何profile
,而不仅仅是FB个人资料。上面,我正在使用Tom Hanks&#39;烂番茄上的配置文件,它使用Open Graph并具有og:type profile
。
我发布了这样的行动:
<script type="text/javascript">
function postAction() {
FB.api(
'/me/high_fiver:high_five' + '?profile=http://www.plooza.com/og/profile2.html',
'post',
function(response) {
if (!response || response.error) {
alert('Error occured');
console.log(response.error);
} else {
alert('Post was successful! Action ID: ' + response.id);
}
}
);
}
</script>
最后,我的应用的用户将在他/她的时间轴上发布OG故事(在&#34;时间轴单元&#34;):
点击链接&#34; Tom Hanks&#34;在故事单元中,它加载烂番茄配置文件。
您可以在此处试用此演示应用:http://plooza.com/og/profile2.html
答案 1 :(得分:1)
所以“朋友”是你自己的对象类型?究竟是如何定义的?
我认为,对于您计划在此处执行的操作,内置对象类型Profile可能更适合您的需求 - 因为这已经创建了与Facebook配置文件的关联,这是公开的可识别的曲线图。