'喜欢'使用Facebook Graph API的页面

时间:2010-06-17 11:03:20

标签: facebook facebook-graph-api facebook-like

使用Graph API我希望能够让授权用户“喜欢”一个页面。

我尝试发布以下内容

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

我在JSON响应正文中收到HTTP错误500并伴有“无效的post_id参数”。看起来/likes资源适合喜欢墙贴而不是页面。如何使用这个页面?

6 个答案:

答案 0 :(得分:42)

Facebook已宣布支持使用官方built-in Like action来关注Facebook以外的网址。您需要拥有publish_actions权限。图表网址为:  https://graph.facebook.com/[User FB ID]/og.likes?object=OG_OBJECT_URL&access_token=USER_ACCESS_TOKEN

但是,你不能使用它来像Facebook上的页面一样,documentation states

  

对于未与Facebook集成的Facebook页面或网站   身份验证,开发人员应继续使用Like按钮   社交插件。

答案 1 :(得分:10)

2016年6月更新

/{user_id}/likes documentation page中有关创建/更新/删除的内容所述,仍然无法使用Facebook API。

  

您无法在此端点上执行此操作。

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

2014年5月

/{user-id}/likes文档页面说明Facebook页面的Publishing Likes

  

您无法使用此边缘发布,因为无法通过任何API 来浏览Facebook页面。如果您希望人们能够在您的应用中喜欢某个页面,则应使用“赞”按钮。

这是最明显和最明确的陈述,能够给我一个问题的答案。

答案 2 :(得分:5)

如果你想在Facebook的页面选项卡或画布页面中使用此功能(比如允许在一个相似的页面中喜欢页面),那么解决你的问题可能涉及Tom Wells在他对Luke的回复中建议的内容。您首先在页面上嵌入了if按钮的iframe版本,然后只需在JS中监听edge.create事件:

FB.Event.subscribe('edge.create',
    function(response) {
        alert('You liked the URL: ' + response);
        // ...
    }
);

在回调中,您可以处理当用户喜欢该页面时会发生什么,比如导航离开相似门页面或显示仅限喜欢的内容。

当用户点击iFrame like按钮时,您的JS代码应该收到edge.create事件,假设iFrame已配置为指向相关网页的网址。

答案 3 :(得分:5)

如果您的应用是一个开放的图形应用,现在您可以使用api,而不再需要按钮。

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

答案 4 :(得分:3)

我认为除了特定的合作伙伴网站(例如yelp)外,不允许这样做。原因是安全性,您可以在页面上放置一些javascript,让每个访问该页面的人“喜欢”不知情地使用它。

请参阅Facebook平台开发者论坛上的How do I "Like" a URL?

答案 5 :(得分:0)

您可以使用Facebook api使用以下代码

来表示具有对象ID的对象
[FBRequestConnection startForPostWithGraphPath:[NSString stringWithFormat:@"/%@/likes",{object_id}] graphObject:nil completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
   //do you customisation post like here
}];