我正在通过 Facebook Connect(从我的外部网站)将一些信息发布到用户的墙上。
一切正常,但我注意到图谱 API 和旧版 JavaScript SDK 中的墙贴文档存在一些差异。
使用 Graph API,要发布到用户的墙上,您需要执行以下操作:
- 制作一个HTTP POST 到https://graph.facebook.com/ {0}/feed?access_token={1}(其中 0 = 用户 ID,1 = 此用户的 oAuth 访问 token )。
- 在HTTP POST中,在数据中指定以下参数:消息、链接、图片、名称、标题、描述、来源。
此页面上有所有详细信息:http://developers.facebook.com/docs/reference/api/post
现在,将其与 FB.Connect.streamPublish 方法(旧的 JavaScript SDK)进行对比:
客户端 JavaScript 函数采用以下参数:
- 用户消息
- 附件
- action_links
- target_id
- 用户消息提示
- 回调
- 自动发布
- Actor 编号
本页详细介绍了此操作:http://developers.facebook.com/docs/reference/oldjavascript/FB.Connect.streamPublish
现在,图形 API 中的操作与旧的 JavaScript API 中的操作非常相似,除了一个重要参数 - “action_links”。
来自上面的链接:
A dictionary of Action links objects, containing the link text and a hyperlink.
从本质上讲,这允许您在墙贴下方的“评论”和“喜欢”按钮旁边创建额外的链接。这就是我想要做的,即我想要另一个名为“在 MySite 上做某事”的按钮。
为什么我不能使用图谱 API 执行此操作??? WTF Facebook,你为什么要创建一个新的“RESTful”API,它不具备旧 API 的所有功能?
让我恼火的是,“Feed”对象确实在 JSON 中包含“操作链接”集合(如果您倾向于请求此信息)。
但这几乎就像 Facebook 已经删除了使用 Graph API 创建操作链接的功能。是这么回事吗??
我在这里遗漏了什么吗?我真的不想使用旧的 JavaScript API 来替换图形 API 调用。
请帮忙!
编辑:
好吧好吧,看看我发现了什么: http://bugs.developers.facebook.com/show_bug.cgi?id=11257
似乎存在一个“错误”,即 Facebook Graph API 不支持操作链接。
什么时候“错误”的定义变成了“我们遗漏的东西”?
唉,又回到了旧的 JavaScript SDK。
Facebook,我讨厌你。
最佳答案
Facebook 现在已将其添加到图形 API 中,并带有“actions”参数。请参阅此链接以获取文档:
关于Facebook Connect - 图形 API 与旧 JavaScript SDK(操作链接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3348869/