使用 Facebook Graph API“喜欢”页面

使用 GraphAPI 我希望能够有一个授权用户“喜欢”一个页面。

我尝试发布以下内容

https://graph.facebook.com/${PAGE_ID}/likes?access_token=${ACCESS_TOKEN}

在 JSON 响应主体中,我得到了一个 HTTP 错误500,并伴随着“无效 post _ id 参数”。看起来 /likes资源适合于喜欢墙上的帖子而不是页面。我怎么才能让这个和页面一起工作呢?

98451 次浏览

我相信这是不允许的,除了特定的合作伙伴网站,像 Yelp。原因是安全性,你可以把一些 javascript 放在一个页面上,让每个访问该页面的人在不知情的情况下“喜欢”它。

参见 Facebook 平台开发者论坛的 我如何“喜欢”一个 URL?

如果你想在 facebook 中的页面标签或者画布页面中使用这个功能(比如允许在喜欢的页面中喜欢这个页面) ,你可以使用 Tom Wells 在给 Luke 的回复中建议的方法。您首先将它们的 like 按钮的 iframe 版本嵌入到页面中,然后简单地在您的 JS 中侦听 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

然而,你现在不能用它来喜欢 Facebook 上的一个页面,就像 文件说明:

对于不与 Facebook 整合的 Facebook 页面或网站 身份验证时,开发人员应继续使用“喜欢”按钮 社交插件。

如果你的应用程序是一个开放的图形应用程序,现在你可以喜欢使用 api,不再需要按钮了。

Https://developers.facebook.com/docs/opengraph/actions/builtin/likes/

2016年6月最新情况

仍然不可能喜欢使用 Facebook API 的页面,正如 /{user_id}/likes 文件页中关于创建/更新/删除的说明:

不能在此端点上执行此操作。

在以前的版本中,信息更清晰(见下面的引用) ,但结果是相同的: 这是不可能的。

二零一四年五月

/{user-id}/likes文档页面说明了 Facebook 页面的 出版社喜欢:

您不能使用此边缘发布,因为 不可能通过任何 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
}];