使用Facebook Graph API“喜欢”页面


70

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

我尝试发布以下内容

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

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

Answers:


41

Facebook已宣布通过使用官方内置的Like操作,支持在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 Pages或网站,开发人员应继续使用Like按钮社交插件。


我不认为您可以使用内置的喜欢阳离子的页面。你确定吗?
AbhinavVinay

是否有Facebook开发人员资源,提示您不能在Facebook页面上使用内置赞。不是说我不相信你,而是我试图理解为什么会这样。您是否在内置的“赞”文档页面上引用此声明:“应用程序对内置的“赞”操作的使用以及任何“开放图”操作都需要提交并批准。对于Facebook网页或具有不能与Facebook身份验证集成,开发人员应该继续使用Like按钮社交插件。”?
肖恩·格洛弗

这是当我尝试喜欢Facebook页面时从图形API返回的错误消息:“(#100)此类对象尚不支持类似操作。”
肖恩·格洛弗

@BK。这实际上是否意味着除了使用like按钮插件外,没有其他喜欢Facebook页面的方式了吗?
Mihai Bujanca

2
如何从我想要的页面中找到OG_OBJECT_URL?
dellasavia 2014年

11

2016年6月更新

如关于创建/更新/删除的/{user_id}/likes 文档页面中所述,仍然不可能喜欢使用Facebook API的页面

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

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

2014年5月

/{user-id}/likes文档页面国家有关出版喜欢的Facebook网页的:

您无法使用此优势进行发布,因为无法通过任何API赞一个Facebook Page。如果希望人们能够喜欢您应用程序中的页面,则应使用“赞”按钮。

这是最明显,最清楚的陈述,能够使我对问题作出回答。



5

如果您希望在Facebook的页面选项卡或画布页面中使用此功能(例如,允许从喜欢的页面中喜欢该页面),围绕您的工作可以涉及汤姆·威尔斯在对卢克的答复中提出的建议。您首先在页面上嵌入了他们的like按钮的iframe版本,然后edge.create像这样简单地在JS中监听事件:

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

在回调中,您可以处理当用户喜欢该页面时发生的事情,例如离开“喜欢”页面或显示仅喜欢的内容。

当用户单击类似iFrame的按钮时,您的JS代码应该接收到该edge.create事件,假定该iFrame配置为指向相关页面的网址。


1
我认为OP正在询问如何以编程方式执行此操作,这可能是通过自定义控件传递“赞”的一种方式。
James P.

3

我相信除yelp之类的特定合作伙伴网站外,这是不允许的。原因是安全性,您将能够在页面上放置一些javascript,并使访问该页面的每个人都在不知情的情况下“喜欢”它。

请参阅如何“喜欢” URL?在Facebook平台开发者论坛上


2
并非如此-图api通过要求用户显式授予对Facebook应用程序的访问权限,利用访问令牌来防止此类安全问题。无论如何,我通过使用Facebook将iframe嵌入到其喜欢按钮(开放图API)的首选途径来解决了该问题。
汤姆·威尔斯

4
(通过iframe或fbml)“喜欢”不是应用程序,因此不需要其他权限,仅需要您登录Facebook。我仍在寻找一种不在Facebook托管的iframe中使用自定义“赞”按钮的方法。
路加福音

卢克-我也是!让我们知道您是否找到一种方法来使用自定义按钮(在我的情况下为Android API)来喜欢Page或App。
Andrew Mackenzie

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
}];
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.