';比如';使用Facebook Graph API的页面

';比如';使用Facebook Graph API的页面,facebook,facebook-graph-api,facebook-like,Facebook,Facebook Graph Api,Facebook Like,使用Graph API,我希望能够让授权用户“喜欢”页面 我试着发布以下内容 https://graph.facebook.com/${PAGE\u ID}/likes?access\u token=${access\u token} 我在JSON响应体中得到一个HTTP错误500,并伴有“无效的post_id参数”。看起来/likes资源适合于喜欢墙贴而不是页面。我如何让它与页面一起工作 我认为这是不允许的,除非是特定的合作伙伴网站,比如yelp。原因是安全性,您可以在页面上放置一些javas

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

我试着发布以下内容

https://graph.facebook.com/${PAGE\u ID}/likes?access\u token=${access\u token}


我在JSON响应体中得到一个HTTP错误500,并伴有“无效的post_id参数”。看起来
/likes
资源适合于喜欢墙贴而不是页面。我如何让它与页面一起工作

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


请参见Facebook平台开发者论坛

,如果您希望在Facebook内的页面选项卡或画布页面中使用此功能(例如,允许从喜欢的页面中喜欢该页面),您可以参考Tom Wells在回复Luke时提出的建议。您首先在页面上嵌入iframe版本的like按钮,然后只需监听
边缘。在JS中创建
事件,如下所示:

FB.Event.subscribe('edge.create',
功能(响应){
警报(“您喜欢URL:”+响应);
// ...
}
);
在回调中,您可以处理当用户喜欢该页面时发生的情况,比如说,从likegate页面导航,或者只显示喜欢的内容


当用户单击iFrame-like按钮时,您的JS代码将收到edge.create
事件,假设iFrame已配置为指向相关页面的url。

Facebook已宣布支持使用官方链接在Facebook之外使用liking url。您需要拥有
publish\u操作
权限。此的图形url为:
https://graph.facebook.com/[User FB ID]/og.likes?object=og\u object\u URL&access\u token=User\u access\u token

但是,您当前无法使用此选项来喜欢Facebook上的页面,因为:

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


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


2016年6月更新

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

无法在此终结点上执行此操作

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

2014年5月

/{user id}/likes
文档页面说明了Facebook页面的内容:

您不能使用此边缘发布,因为不可能通过任何API喜欢Facebook页面。如果你想让人们喜欢你应用程序中的页面,你应该使用“喜欢”按钮


这是能够给我一个问题答案的最明显、最清晰的陈述。

您可以使用下面的代码,使用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
}];

事实并非如此——graph api通过请求用户显式授予facebook应用程序访问权限,利用访问令牌来防止此类安全问题。无论如何,我解决了这个问题,我选择了facebook的首选方式,将iframe嵌入到他们的like按钮(打开图形api)。“like”ing(通过iframe或fbml)不是一个应用程序,因此不需要额外的权限,只需您登录facebook即可。我仍然在寻找一种方法,在facebook托管的iframe中没有自定义的按钮。Luke-我也是!如果你能找到一个定制按钮(在我的例子中是Android API)来喜欢一个页面或一个应用程序,请告诉我们。我不认为你能喜欢一个使用内置按钮的页面。你能确认吗?有没有facebook开发者资源说你不能在facebook页面上使用内置的like。并不是说我不相信你,而是我在努力理解为什么会这样。你是指内置的like doc页面上的这句话:“应用程序使用内置的like操作,就像任何打开的图形操作一样,需要提交并批准。对于没有与Facebook身份验证集成的Facebook页面或网站,开发者应该继续使用like按钮社交插件。”?这是当我尝试喜欢facebook页面时,graph API返回的错误消息:“(#100)类操作尚不支持此类型的对象。”@BK.这是否意味着除了使用like按钮插件,没有其他方式可以喜欢facebook页面?我如何从我喜欢的页面中找到OG_OBJECT_URL?我想OP是在问如何通过编程实现这一点,也许是通过自定义控件传递“like”的一种方式。正如文档和BK的回答中提到的,这不适用于Facebook页面,仅适用于其他对象