2011-04-11 105 views
6

可能重复:
Like button in iOS applicationiOS'喜欢'Facebook应用程序页面,该怎么做?

我试图使它更容易为我的应用程序 '喜欢' 我的Facebook应用程序的用户。

这种情况是,用户已经登录并授权我的应用程序,所以我有用户的oauth令牌。由于Graph API不允许这样做,所以我尝试了多种其他方式,都未成功。

方法: 1)将它导航到UIWebView中的facebook应用程序的Facebook页面 2)让我的应用程序启动Facebook应用程序到我的Facebook应用程序页面。

在方法1中,主要问题是用户在很多情况下必须再次登录webview,因为我还没有找到将令牌传递给webview会话的方法。例如,在Foursquare api中,您只需将该标记作为查询字符串附加到网址(http://foursquare.com/blabla?access_token=52521...。),但这不适用于Facebook。

在方法2中,可以使用这种方法来实现:

的NSString * fbAppUrl = [NSString的stringWithFormat:@ “FB://应用/%@”,[应用facebookAppId]];
BOOL didOpenOtherApp = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:fbAppUrl]];

无论我尝试什么,即fb:// applications /%@或fb:// pages /%@或fb:// profile /%@或fb:// feed /%@,facebook应用程序只是打开一个空白页面。

任何人的提示或提示?

如果未安装facebook应用程序,我希望能够使用方法2并回到方法1,但实质上,方法1会导致转换率很低,因此希望避免它。

+0

只是为了防止任何人在搜索解决方案时遇到此问题。 Facebook刚刚发布了对本地移动功能的支持。https://developers.facebook.com/blog/post/2012/06/20/bringing-like-to-mobile/ – Skela 2012-06-26 15:04:34

回答

4

Facebook的iPhone应用程序目前不支持,也没有图表api。 Facebook支持“喜欢”url的唯一方式是从他们的iFrame代码。关于如何做一个选项#1的变体,还有一半体面blog post,但看起来是否通过Safari登录Facebook。不是最好的用户体验,但是目前Facebook允许的所有内容。

+0

Thx bkaid,是的,这原则上与我的方法1相同。我仍在寻找一个方法,肯定有一定的办法? – Skela 2011-05-23 10:06:16

+0

目前尚不正式。诈骗者很容易滥用其他方式。如果他们添加选项,我会更新答案。唯一的另一种方法是存储用户的登录信息,并对facebook.com网站使用的url做一个http post,但这显然是刮蹭和违反了他们的服务条款。 – bkaid 2011-05-23 15:07:42

+0

反正,为此,我会更新这个答案,如果我遇到任何事情,但我相信你会在我之前这样做; D – Skela 2011-05-23 15:28:14

0

看来是不能做到这一点的协议。然而,这篇文章显示,您可以: Using 'Like' with the Facebook Graph API on iOS

进行备份,这里是从FB图形API文档的摘录:

您可以发表评论,或类似的有/意见或任何物体/喜欢 连接张贴到分别https://graph.facebook.com/OBJECT_ID/commentshttps://graph.facebook.com/OBJECT_ID/likes,:

(来源:http://developers.facebook.com/docs/reference/api/

+0

非常抱歉,这篇文章解释说,你可以喜欢几乎所有东西,除了在Facebook上的页面:http://stackoverflow.com/questions/5837010/facebook-api-liking-page-on-behalf-of-user-extended-permissions – 2011-12-02 07:05:39

+1

当发布复制和粘贴样板/逐字回答多个问题时要小心,这些往往被社区标记为“垃圾”。如果你这样做,那么它通常意味着问题是重复的,所以标记它们。 – Kev 2011-12-02 11:16:06

相关问题