簡體   English   中英

使用Social Framework時獲取Facebook的錯誤ACErrorPermissionDenied(錯誤代碼7)

[英]Getting error ACErrorPermissionDenied (error code 7) for Facebook when using Social Framework

我使用ACAccountStore獲取用戶的Facebook帳戶ID和名稱。

當出現警告要求用戶許可(“XYZ想要訪問您的新聞源和個人資料”)並且用戶點擊“不允許”時,我收到錯誤代碼7,即ACErrorPermissionDenied

但在那之后,如果我轉到設置並打開我的應用程序的Facebook設置並返回應用程序,警報再次彈出,用戶點擊“確定”,我仍然收到錯誤代碼7( ACErrorPermissionDenied )。 因此它在設置中啟用我已經在應用輕拍“OK”,但它仍然給我這個錯誤。

如果我第一次允許訪問,並且設置之后打開或關閉開關訪問,它會給我正確的錯誤或成功。 僅當用戶第一次點擊“不允許”時才會出現此問題。 如果他在請求時不允許它在應用程序中,那么他將無法允許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;}

您的應用仍在Facebook上的“沙盒模式”嗎? 如果是,則只有管理員和開發人員才能看到它。 如果您在設備上以非管理員身份登錄到Facebook,則可能會收到此錯誤。 禁用沙盒模式為我解決了問題。

這是因為您已經在Facebook中刪除了您的應用,即使我遇到同樣的問題。 如果您嘗試使用iOS本機登錄以外的任何方法登錄,那么它會添加Facebook應用程序(如果它不存在或在Facebook設置中被用戶刪除)但如果您嘗試使用iOS本機登錄進行登錄,則當前不會發生這種情況。 如果你遇到這個問題的ant解決方案,請通知我,這也是他們可以刪除我在iOS facebook設置中列出的應用程序的一種方式,因為如果我刪除然后用戶重試登錄,那么它可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM