【发布时间】:2011-05-08 13:48:09
【问题描述】:
我在我的应用程序中使用 Graph API。我正在使用图形 API 获取用户的 facebook 墙提要,还获取特定帖子的详细信息,即(如计数、评论等)。 但我想允许用户喜欢和评论应用程序本身的任何帖子。 请求格式是什么?
请帮助我或提供任何指示。
问候, 卫生巾
【问题讨论】:
我在我的应用程序中使用 Graph API。我正在使用图形 API 获取用户的 facebook 墙提要,还获取特定帖子的详细信息,即(如计数、评论等)。 但我想允许用户喜欢和评论应用程序本身的任何帖子。 请求格式是什么?
请帮助我或提供任何指示。
问候, 卫生巾
【问题讨论】:
您会很高兴查看documentation 的Publishing 部分。它提供诸如此类的信息。
一个例子是喜欢,定义为:
方法:/OBJECT_ID/likes
描述:喜欢给定的对象(如果它有 /likes 连接)
参数:无
基本上,只需启动 Graph API 调用,例如:
[facebookObject requestWithGraphPath:@"98423808305/likes" andDelegate:self];
这将“喜欢”可口可乐的图片(ID 取自文档)。
编辑 1
根据文档:
大多数写操作需要extended permissions 用于活动用户。有关如何在身份验证步骤中向用户请求扩展权限的详细信息,请参阅authentication guide。
你确定你有足够的权限吗?不幸的是,文档并不清楚它是否具有喜欢该对象和返回该对象上已有的喜欢的双重目的。
编辑 2
我对可能导致此问题的原因进行了更多研究,发现this question and answer 表明我在上面使用requestWithGraphPath:: 发布的代码应该可以工作。但是,它不是由于bug on Facebook's Bug Tracker。
不幸的是,似乎没有办法通过 Graph API 来“喜欢”一个对象,这对我来说似乎很奇怪。或许可以使用旧版 REST API 而不是 Graph API?
编辑 3
嗯,看起来你最好的选择是 legacy REST API 的 stream.addLike 方法,你仍然可以使用 Facebook iOS SDK 调用它。您应该能够使用stream.addLike 方法来“喜欢”“流”中的某些内容。不幸的是,它似乎不支持照片、视频等。仅支持帖子和 cmets。
【讨论】:
最后我找到了 LIKE 选项的解决方案 我们应该使用以下方法来选择类似的选项。
-(void) requestWithGraphPath:(NSString *)graphPath
andParams:(NSMutableDictionary *)params
andHttpMethod:(NSString *)httpMethod
andDelegate:(id <FBRequestDelegate>)delegate
graphPath = /OBJECT_ID/likes Paramas = 带注释的字典,类似选项使用空字典 HttpMethod 应该是 POST
如果 LIKE 请求成功,您应该得到 response = true。
【讨论】: