使用Graph API我希望能够让授权用户“喜欢”一个页面。
我尝试发布以下内容
https://graph.facebook.com/${PAGE_ID}/likes?access_token=${ACCESS_TOKEN}
我在JSON响应正文中收到HTTP错误500并伴有“无效的post_id参数”。看起来/likes
资源适合喜欢墙贴而不是页面。如何使用这个页面?
答案 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
}];