我可以通过以下方式访问用户的 Facebook:

[accStore requestAccessToAccountsWithType:fbAccountType
                                           options:options
                                        completion:^(BOOL granted, NSError *error) {
                                            if (granted) {
                                                // If access granted, then get the Facebook account info
                                                NSArray *accounts = [accStore
                                                                     accountsWithAccountType:fbAccountType];
                                                ACAccount *acc = [accounts lastObject];

                                                // Get the access token, could be used in other scenarios
                                                ACAccountCredential *fbCredential = [acc credential];
                                                NSString *accessToken = [fbCredential oauthToken];
                                                NSLog(@"Facebook Access Token: %@", accessToken);


                                                // Add code here to make an API request using the SLRequest class

                                            } else {
                                                NSLog(@"Access not granted");
                                            }
                                        }];

这打印出来:
 Facebook Access Token: (null)

我被授予访问权限,但 token 为空。我究竟做错了什么?

谢谢

最佳答案

我通过更新凭据解决了这个问题。也就是说,在授予访问 FB 权限后,但在 ACAccountCredential 的 oauthToken 返回 nil 的情况下,我们只需调用 ACAccountStore 的 refreshCredentialsForAccount 。凭证更新,之后 token 有效!

关于ios - ACAccountCredential 为 oauthToken 返回 null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17737667/

10-08 21:07