2016-05-07 3 views
1

Ich versuche, eine Liste von Freunden mit Facebook SDK ohne Glück zu bekommen.Ich kann keine Freundesliste auf Facebook erhalten SDK 4 für iOS

Dies ist der Code, den ich verwenden:

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] 
           initWithGraphPath:@"me/friends" 
           parameters:@{@"fields": @"fields=id, first_name, last_name, birthday, gender, picture, devices"} 
           HTTPMethod:@"GET"]; 
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, 
             id result, 
             NSError *error) { 
    if (error == nil) { 
     NSArray* friends = [result objectForKey:@"data"]; 
    } else { 
     NSLog(@"Error: %@ %@", error, [error userInfo]); 
    } 
}]; 

Dies ist der Fehler, den ich bekommen:

2016-05-08 00:07:12.610 App2Gift[48103:676830] Failed getting friend list 
2016-05-08 00:07:12.610 App2Gift[48103:676830] Error: Error Domain=com.facebook.sdk.core Code=8 "(null)" UserInfo={com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode=100, com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey={ 
    body =  { 
     error =   { 
      code = 100; 
      "fbtrace_id" = "G3OpyiU/JKs"; 
      message = "(#100) Unknown fields: fields=id."; 
      type = OAuthException; 
     }; 
    }; 
    code = 400; 
}, com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey=400, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=(#100) Unknown fields: fields=id., com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey=0} { 
    "com.facebook.sdk:FBSDKErrorDeveloperMessageKey" = "(#100) Unknown fields: fields=id."; 
    "com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey" = 0; 
    "com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode" = 100; 
    "com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey" = 400; 
    "com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey" =  { 
     body =   { 
      error =    { 
       code = 100; 
       "fbtrace_id" = "G3OpyiU/JKs"; 
       message = "(#100) Unknown fields: fields=id."; 
       type = OAuthException; 
      }; 
     }; 
     code = 400; 
    }; 
} 

Ausführen des gleichen mit Parameter wie: nil Werke hat aber nicht geben zurück alle benötigten Daten.

Antwort

1

Geprüft und Arbeiten mit diesen Berechtigungen:

loginView.readPermissions = @[@"public_profile", @"email", @"user_friends"];

NSString *path = [NSString stringWithFormat:@"/me/friends"]; 

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] 
          initWithGraphPath:path 
          parameters:@{@"fields": @"id, name, picture, devices"} 
          HTTPMethod:@"GET"]; 
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) 
{ 

}]; 
0

In v2.0 der Graph-API gibt der Aufruf von/me/friends die Freunde der Person zurück, die auch die App verwenden.

Darüber hinaus müssen Sie in v2.0 die Berechtigung user_friends von jedem Benutzer anfordern. user_friends ist nicht mehr standardmäßig bei jeder Anmeldung enthalten. Jeder Benutzer muss die Berechtigung user_friends erteilen, um in der Antwort auf/me/friends zu erscheinen. Siehe Upgrade die Facebook-Leitfaden für detailiertere Informationen

+0

Dank nerowlfe, aber ich habe noch die Verbindung zwischen Ihrer Antwort nur knapp sein Ziel bekommen und die Fehler, die ich bekommen . Außerdem möchte ich gerne meine Freundesliste bekommen (ist das nicht eine der trivialsten Anfragen in Facebook api), wie kann ich das machen? – bashan

Verwandte Themen