我正在尝试使用 Mac OS X 10.8 上的新 ACAccountStore 功能通过 Facebook 登录,但出现错误:
Facebook 服务器无法完成此访问请求:没有为应用存储 remote_app_id
当代码执行 requestAccessToAccountsWithType 消息时,它会提示我访问 Facebook(我允许),并且我的设置中确实存储了 Facebook 凭据。我还有另一个旧版 OS X 的代码路径,它使用 WebView 控件登录 Facebook。它确实适用于相同的 APP_ID。所以我应该在 Facebook 开发人员设置中正确设置应用程序。在我缺少的其他一些配置中?我在 Internet 上搜索“remote_app_id”并得到空集。
ACAccountStore *account = [[ACAccountStore alloc] init];
ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: FB_APP_ID, ACFacebookAppIdKey, [NSArray arrayWithObjects:@"email", nil], ACFacebookPermissionsKey, ACFacebookAudienceFriends, ACFacebookAudienceKey, nil];
[account requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error) {
if (granted) {
NSArray *accountList = [account accountsWithAccountType:accountType];
for (ACAccount *thisAccount in accountList) {
NSLog(@"Found account: %@", [thisAccount accountDescription]);
}
}
else {
NSLog(@"Not granted because: %@", [error localizedDescription]);
}
}];
iPhone 开发人员的有用说明:100% 展示此问题:
关于 iPhone 上的相同问题(此页面是谷歌的主要登陆页面):问题是:在 iPhone 上,转到设置,左侧菜单 Facebook,然后在右侧用户名/密码 - 登录 Facebook。这就是“设置 Facebook 登录”。如果 iPhone 实际上是在“设置 Facebook 登录”上登录到 FB,那么问题就会出现。如果您明确退出“设置 Facebook 登录”(实际上,可能卸载 Facebook 应用程序),问题将不会出现。