13

我正在尝试使用 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 应用程序),问题将不会出现。

4

2 回答 2

33

看起来您必须在 Facebook 应用程序设置中设置 iOS/OSX 应用程序的捆绑 ID(在我的情况下是固定的)

捆绑包ID

于 2012-09-25T14:21:29.620 回答
3

在 Facebook Web 界面上设置捆绑 ID,它会立即更新。

它在更新的开发者 UI 上的位置如下:

Facebook 捆绑包 ID

于 2014-05-20T14:00:38.670 回答