Gigya facebook登录:未调用完成处理程序
Posted
技术标签:
【中文标题】Gigya facebook登录:未调用完成处理程序【英文标题】:Gigya facebook login: completion handler not called 【发布时间】:2014-11-04 11:32:46 【问题描述】:我正在尝试使用 Gigya-SDK 通过 facebook 登录应用程序。 Facebook 上的设置看起来不错,并且没有 Gigya 的本机 facebook 登录工作正常。但是,当我在 Facebook 网站上成功登录后调用 Gigya 方法时,永远不会调用完成处理程序。
这是我非常简单的代码:
[Gigya showLoginProvidersDialogOver:self providers:providers parameters:nil
completionHandler:^(GSUser *user, NSError *error)
if (!error)
NSLog(@"works");
else
NSLog(@"Error: %@", error.userInfo);
// If the login was canceled by the user - do nothing. Otherwise, display an
error.
if (error.code != GSErrorCanceledByUser)
NSLog(@"Error: %@", error.userInfo);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"An error has
occured. Please try again later"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
];
ios SDK:8.1
Facebbok-SDK:3.20
Gigya-SDK:3.0.6
【问题讨论】:
我遇到了同样的事情。它适用于 Google 和 Yahoo,但 Facebook 从不调用 completionHandler。 【参考方案1】:您需要检查以下几点:
您在 Gigya 控制台中为所使用的 API 密钥设置的权限。您需要确保为您使用的 API 密钥启用了“启用桌面/移动设备使用”权限集。
Gigya 控制台中的 Facebook 提供程序配置设置,用于正在使用的 API 密钥。 Gigya 将在提供程序配置中默认选择 Facebook API v1;如果您的 Facebook 社交网络应用是新的,那么它将使用 API 的 v2。您需要确保选择了正确的设置。
如果您使用的是 CNAME,那么您需要确保在 API 密钥上正确设置了 CNAME CNAME 配置,并且您的 Facebook 开发者控制台设置已配置为使用 CNAME。
如果您进行任何更改,请务必在更改屏幕之前保存设置。
【讨论】:
【参考方案2】:你会得到什么结果:
[Gigya loginToProvider:@"facebook"
parameters:nil
completionHandler:^(GSUser *user, NSError *error)
if (!error)
NSLog(@"works");
else
NSLog(@"error");
];
【讨论】:
同上。 completionHandler 永远不会被调用。也尝试与代表团一起没有运气 当我执行这个 loginToProvider 方法时,我可以提出一个基于 UIWebview 的对话框,登录到 Facebook,接受 Facebook 的权限,然后完成处理程序似乎永远不会执行。有没有人在使用 Gigya SDK for iOS 时克服了这个问题?【参考方案3】:经过几次尝试,我找到了对我有帮助的解决方案。
[Gigya initWithAPIKey:@"-----------------" APIDomain:@"eu1.gigya.com"];
我必须输入正确的 APIDomain。 Gigya 的文档仅指
[Gigya initWithAPIKey:@"-----------------"];
默认使用美国域。
【讨论】:
以上是关于Gigya facebook登录:未调用完成处理程序的主要内容,如果未能解决你的问题,请参考以下文章
Titanium Facebook 模块未在 iOS 7 上完成登录
FBSDKLoginManager logInWithReadPermissions:fromViewController:处理程序:应用程序首次运行时未调用完成
Parse.com Facebook 授权从不调用完成处理程序