相关疑难解决方法(0)

如何使用Facebook iOS SDK 4.x"重新请求"电子邮件权限?

我正在整合FacebookSDK 4.x与自定义UI的集成,并使用以下方法登录并获得用户的电子邮件权限.

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    [login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
        if (error){
            NSLog(@"%@",[error localizedDescription]);            
        }
        else if (result.isCancelled){
            NSLog(@"Cancled");
        }
        else
        {
            if ([result.grantedPermissions containsObject:@"email"])
            { 
                NSLog(@"Granted all permission");
                if ([FBSDKAccessToken currentAccessToken])
                {
                    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
                    {
                        if (!error)
                        {
                            NSLog(@"%@",result);
                        }
                    }];
                }
            }
            else
            {
                NSLog(@"Not granted");
            }
        }
    }];
Run Code Online (Sandbox Code Playgroud)

除非用户拒绝访问"电子邮件",否则这很有效.我在FacebookSDK文档中看到,我可以重新请求访问用户的电子邮件一次.根据FB文档:在此链接中给出

If someone has declined a permission for your app, the login dialog won't …
Run Code Online (Sandbox Code Playgroud)

facebook facebook-graph-api ios facebook-sdk-4.0

14
推荐指数
1
解决办法
5378
查看次数