的Gigya Facebook登录:完成处理不叫(Gigya facebook login: com

2019-10-21 05:58发布

我正尝试使用的Gigya-SDK通过Facebook的应用程序登录。 在Facebook上建立起来很好看,没有的Gigya本地facebbook登录工作正常。 但是,当我打电话的Gigya方法上Facebook-网站登录成功后,完成处理是永远不会被调用。

这是我非常简单的代码:

 [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

Answer 1:

还有,你将需要检查的几个事情:

  1. 正在使用的的Gigya控制台的API密钥的权限设置。 你需要确保你有“启用桌面/移动应用”权限设置为您所使用的API密钥启用。

  2. 正在使用的的Gigya控制台的Facebook提供的配置设置API密钥。 的Gigya将选择默认的提供程序配置Facebook的API V1; 如果你的Facebook社交网络的应用是新的,那么这将是使用API​​第2版。 你需要确保你已经正确的设置选择。

  3. 如果您使用的是CNAME,那么你需要确保CNAME的CNAME配置设置正确的API密钥,并且您的Facebook开发者控制台设置配置为使用CNAME。

如果你做任何更改,请确保您更改屏幕前保存设置。



Answer 2:

你跟这得到什么结果:

[Gigya loginToProvider:@"facebook"
parameters:nil
completionHandler:^(GSUser *user, NSError *error) {
    if (!error) {
        NSLog(@"works");
    }
    else {
        NSLog(@"error");
    }

}];



Answer 3:

尝试几次后,我有一个帮助我的解决方案。

 [Gigya  initWithAPIKey:@"-----------------" APIDomain:@"eu1.gigya.com"];

我只好把正确的APIDomain。 的Gigya的文档仅指

[Gigya  initWithAPIKey:@"-----------------"];

这是使用美国默认域。



文章来源: Gigya facebook login: completion handler not called