【问题标题】:Getting error ACErrorPermissionDenied (error code 7) for Facebook when using Social Framework使用社交框架时,Facebook 出现错误 ACErrorPermissionDenied(错误代码 7)
【发布时间】:2012-12-28 08:37:32
【问题描述】:

我正在使用 ACAccountStore 获取用户的 Facebook 帐户 ID 和名称。

当出现警告请求用户许可(“XYZ 想要访问您的新闻提要和个人资料”)并且用户点击“不允许”时,我收到错误代码 7,即ACErrorPermissionDenied

但在那之后,如果我转到“设置”并为我的应用打开 Facebook 设置并返回应用程序,警报再次弹出并且用户点击“确定”,我仍然收到错误代码 7 (@ 987654323@)。所以它在设置中启用并且我在应用程序中点击了“确定”,但它仍然给我这个错误。

如果我第一次允许访问并且之后从设置打开或关闭访问,它会给我正确的错误或成功。仅当用户第一次点击“不允许”时才会出现此问题。如果他在请求时不允许在应用程序中使用它,那么他将无法允许 FB 访问我的应用程序。

我已经使用以下代码在 iOS 6.0 和 6.0.1 上对此进行了测试:

 NSMutableArray *acAccountArray = [[NSMutableArray alloc] init];

ACAccountStore *accountStore = [[ACAccountStore alloc] init];

ACAccountType *accountType =
[accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

[accountStore
 requestAccessToAccountsWithType:accountType
 options:[self getOptionDictionary:ACAccountTypeIdentifierFacebook permission:[[NSArray alloc]initWithObjects:@"read_stream",@"user_about_me",@"email", nil]]
 completion:^(BOOL granted, NSError *error) {
     if(granted) {
         // Doing what I want

     } else {
         NSLog(@"Error: %@", error);
     }
 }];



-(NSDictionary *)getOptionDictionary:(NSString * const)accountTypeIdentifier
                      permission:(NSArray*)permissionArray {
NSDictionary *options = nil;
if (accountTypeIdentifier == ACAccountTypeIdentifierFacebook) {
    options = @{
    @"ACFacebookAppIdKey" : @"dhksadhakjdhkshd",
    @"ACFacebookPermissionsKey" : permissionArray,
    @"ACFacebookAudienceKey" : ACFacebookAudienceFriends};
}
return options;}

【问题讨论】:

    标签: iphone ios facebook ios6 acaccount


    【解决方案1】:

    您的应用在 Facebook 上是否仍处于“沙盒模式”?如果是,它将仅对管理员和开发人员可见。如果您在设备上使用应用程序的非管理员登录 Facebook,您可能会收到此错误。禁用沙盒模式为我解决了这个问题。

    【讨论】:

      【解决方案2】:

      这是因为您在 facebook 中删除了您的应用程序,即使我也面临同样的问题。如果您尝试使用 iOS 本机登录以外的任何方法登录,则如果 Facebook 应用程序不存在或被用户在 facebook 设置中删除,则它会添加 Facebook 应用程序,但如果您尝试使用 iOS 本机登录名登录,则当前不会发生。 如果您遇到此问题的 ant 解决方案,请通知我,在这种情况下,这也是我可以删除在 iOS facebook 设置中列出的应用程序的一种方式,因为如果我删除然后用户重试登录,那么它可以正常工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-04
        • 2014-09-21
        • 1970-01-01
        • 2015-01-24
        • 2015-10-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多