打开链接到其他用户的图表自定义操作

she*_*ndz 10 facebook facebook-opengraph

我对beta Open Graph的内容有疑问.

我正在查看的文档是https://developers.facebook.com/docs/beta/opengraph/ 我成功定义了自定义对象和操作.但是,我无法弄清楚如何将当前用户与其他用户链接.例如,假设我定义了一个自定义动作'kick'.我希望当前用户能够"踢"他/她的一个朋友.我能想到的最接近的对象是'profile',但是当我传递user_id,'http://www.facebook.com/profile.php?id='或http://graph.facebook.com/时,它不起作用.

这是我试过的请求

POST https://graph.facebook.com/me/myapp:kick?access_token=abc&profile=http%3A%2F%2Fwww.facebook.com%2F123
POST https://graph.facebook.com/me/myapp:kick?access_token=&profile=123
POST https://graph.facebook.com/me/myapp:kick?access_token=abc&profile=http%3A%2F%2Fwww.facebook.com%2Fprofile.php%3Fid%3D123
POST https://graph.facebook.com/me/myapp:kick?access_token=abc&profile=http%3A%2F%2Fgraph.facebook.com%2F123

这是我得到的回应

{"error":{"message":"An unexpected error has occurred. Please retry your request later.","type":"OAuthException"}}

phw*_*hwd 3

给出的配置文件适用于外部网站。他们称之为外部轮廓。相当具有误导性的术语。

踢了一个网站

正如你所看到的,我使用了以下内容

curl -F 'access_token=TOKEN' \
     -F 'profile=http://graph.facebook.com/zuck' \
        'https://graph.facebook.com/me/MYAPP:kick'
Run Code Online (Sandbox Code Playgroud)

它给出了上述内容。

你可以用来自 Facebook 用户的元信息填充外部配置文件,它会显示正常(例如我可以发送配置文件 URL facebook.com/zuck),但它看起来倒退,效率低下,而且不是预期的用途。

例如,向其提供我的链接。

curl -F 'access_token=TOKEN' \
     -F 'profile=http://facebook.com/username' \
        'https://graph.facebook.com/me/MYAPP:kick'
Run Code Online (Sandbox Code Playgroud)

踢了我自己

但问题是……我不是音乐家。

但在聚合视图中看起来确实不错。

聚合

这很有趣/奇怪,因为这张图片中显示的对象之一是 Facebook 个人资料,所以你会认为他们会给出一个以 Facebook 个人资料作为对象的示例。

图表展示

虽然他们确实说过

我们现在正在扩展开放图谱以包含由第 3 方应用程序创建的任意操作和对象,并使这些应用程序能够深入集成到 Facebook 体验中

这很可能意味着他们希望您在 Facebook之外创建任意对象。

您还能链接到其他用户吗?
是的,但是通过标记使用tags=FacebookID1,FacebookID2,但它将采用以下形式

phwd 在 [APP NAME] 上踢了一位与 Friend1 和 Friend2 一起的音乐家