使用 GraphAPI 我希望能够有一个授权用户“喜欢”一个页面。
我尝试发布以下内容
https://graph.facebook.com/${PAGE_ID}/likes?access_token=${ACCESS_TOKEN}
在 JSON 响应主体中,我得到了一个 HTTP 错误500,并伴随着“无效 post _ id 参数”。看起来 /likes资源适合于喜欢墙上的帖子而不是页面。我怎么才能让这个和页面一起工作呢?
/likes
我相信这是不允许的,除了特定的合作伙伴网站,像 Yelp。原因是安全性,你可以把一些 javascript 放在一个页面上,让每个访问该页面的人在不知情的情况下“喜欢”它。
参见 Facebook 平台开发者论坛的 我如何“喜欢”一个 URL?
如果你想在 facebook 中的页面标签或者画布页面中使用这个功能(比如允许在喜欢的页面中喜欢这个页面) ,你可以使用 Tom Wells 在给 Luke 的回复中建议的方法。您首先将它们的 like 按钮的 iframe 版本嵌入到页面中,然后简单地在您的 JS 中侦听 edge.create事件,如下所示:
edge.create
FB.Event.subscribe('edge.create', function(response) { alert('You liked the URL: ' + response); // ... } );
在回调中,您可以处理用户喜欢该页面时发生的情况,比如从 like-gate 页面导航,或显示只喜欢的内容。
当用户单击 iFrame like 按钮时,假设 iFrame 被配置为指向有问题的页面的 URL,您的 JS 代码应该接收到 edge.create事件。
Facebook 宣布支持在 Facebook 之外使用官方的 内置类似动作来喜欢 URL。您需要具有 publish_actions权限。这个图形的网址是: https://graph.facebook.com/[User FB ID]/og.likes?object=OG_OBJECT_URL&access_token=USER_ACCESS_TOKEN
publish_actions
https://graph.facebook.com/[User FB ID]/og.likes?object=OG_OBJECT_URL&access_token=USER_ACCESS_TOKEN
然而,你现在不能用它来喜欢 Facebook 上的一个页面,就像 文件说明:
对于不与 Facebook 整合的 Facebook 页面或网站 身份验证时,开发人员应继续使用“喜欢”按钮 社交插件。
如果你的应用程序是一个开放的图形应用程序,现在你可以喜欢使用 api,不再需要按钮了。
Https://developers.facebook.com/docs/opengraph/actions/builtin/likes/
2016年6月最新情况
仍然不可能喜欢使用 Facebook API 的页面,正如 /{user_id}/likes 文件页中关于创建/更新/删除的说明:
/{user_id}/likes
不能在此端点上执行此操作。
在以前的版本中,信息更清晰(见下面的引用) ,但结果是相同的: 这是不可能的。
二零一四年五月
/{user-id}/likes文档页面说明了 Facebook 页面的 出版社喜欢:
/{user-id}/likes
您不能使用此边缘发布,因为 不可能通过任何 API 来喜欢 Facebook 页面。你应该使用喜欢按钮,如果你希望人们能够喜欢你的应用程序的一个页面。
这是我能够回答这个问题的最明显和最清楚的陈述。
您可以使用以下代码使用 Facebookapi 来喜欢具有对象 id 的对象
[FBRequestConnection startForPostWithGraphPath:[NSString stringWithFormat:@"/%@/likes",{object_id}] graphObject:nil completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { //do you customisation post like here }];