Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用Facebook单点登录的iOS应用程序中的Like按钮_Iphone_Facebook_Ios_Facebook Like - Fatal编程技术网

Iphone 使用Facebook单点登录的iOS应用程序中的Like按钮

Iphone 使用Facebook单点登录的iOS应用程序中的Like按钮,iphone,facebook,ios,facebook-like,Iphone,Facebook,Ios,Facebook Like,有没有办法将FB Single Sign-On Sign-in流程与UIWebView中的like按钮结合使用 我有一个应用程序,它使用UIWebView来显示网页,在该网页中有一个类似FB的按钮。我已经得到了类似的按钮,以工作的建议,在张贴 但是登录对话框看起来不太好,如果我可以使用SSO流来代替,那就太棒了。但我还没让它起作用。有人尝试过吗?事实上,我修改了Facebook的源代码,使其始终使用safari for auth,而不是单一登录。这允许我在UIWebView中创建类似按钮(或类

有没有办法将FB Single Sign-On Sign-in流程与UIWebView中的like按钮结合使用

我有一个应用程序,它使用UIWebView来显示网页,在该网页中有一个类似FB的按钮。我已经得到了类似的按钮,以工作的建议,在张贴


但是登录对话框看起来不太好,如果我可以使用SSO流来代替,那就太棒了。但我还没让它起作用。有人尝试过吗?

事实上,我修改了Facebook的源代码,使其始终使用safari for auth,而不是单一登录。这允许我在UIWebView中创建类似按钮(或类似框)。

您可以从类似按钮截取操作

只需将“喜欢”按钮设置为

在UIWebView中,签入 webView:shouldStartLoadWithRequest:navigationType:


对于/doLikeStuff链接,返回NO(因此web视图实际上不做任何事情)并实现您的自定义流。

Facebook API实际上首先检查您的ios设备是否支持多任务处理。如果没有,则使用弹出对话框。如果该设备确实支持,那么它将尝试使用Facebook应用程序(当然,如果它安装在该设备上),然后使用safari,然后才返回弹出对话框。注意使用相同的Facebook对象,否则每次操作都需要登录…

似乎大家都同意不能这样做。然而,这篇文章表明你可以:

为了进行备份,这里摘录了FB Graph API文档:

您可以评论或喜欢任何带有/comments或/likes的对象 邮寄至 分别是:


(来源:)

不可能使用Web组件(如UIWebView或external Safari)和本机代码(如您提到的UIButton)以类似SSO的方式在它们之间进行交互

1) FB存储用于授权的登录cookie

2) 每个Web组件(如UIWebView或external Safari)都使用自己的沙盒cookie存储。我发现(而且我坚信)没有办法实现他们之间的交流

3) 本机代码使用每个应用程序沙箱中存储的AccessToken,以便在外部FBs API调用(如授权、图形调用等)中使用


4) 如果你有别的办法,请告诉我;)

很好。您能告诉我们您在哪里/如何修改FB SDK吗?您可以在github上找到源代码:。非常抱歉,这篇文章解释说,除了facebook上的页面,你几乎可以喜欢任何东西:在发布多个问题的复制粘贴样板/逐字回答时要小心,这些问题往往被社区标记为“垃圾邮件”。如果你这样做的话,通常意味着问题是重复的,所以把它们标记为重复的。你知道如何解决这个问题了吗?