2016-07-29 9 views
0

Ich versuche, das Profilbild eines Facebook-Benutzers in einer angemessenen Qualität von meiner App zu bekommen. Standardmäßig wird ohne Parameter die Anfrage an den Pfad "me? Fields = picture" die kleine abgerufen, aber die Verwendung eines Parameterwörterbuchs mit den Schlüsseln @ "type" und value @ "large" würde das große abrufen. Die API scheint jedoch die Parameter zu ignorieren.iOS kann keine Wörterbuchparameter in FBSDKGraphRequest senden

FBSDKGraphRequest* picRequest = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me?fields=picture" parameters:[NSDictionary dictionaryWithObject:@"small" forKey:@"type"] HTTPMethod:@"GET"]; 

[picRequest startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 

     if (result) { 

      NSString* profilePictureURLString = [[[(NSDictionary*) result objectForKey:@"picture"] objectForKey:@"data"] objectForKey:@"url"]; 
      NSURL* profilePictureURL = [NSURL URLWithString:profilePictureURLString]; 
      NSData* profilePictureData = [NSData dataWithContentsOfURL:profilePictureURL];  
     }]; 

Die resultierenden Daten sind immer das kleine Bild mit 50x50 Pixeln.

Kann mir bitte jemand helfen? Vielen Dank!

+0

Wenn jemand die Antwort Ihr Problem gelöst, könnte man es als Antwort akzeptieren wollen das große Checkbox. – Juan

Antwort

0

Sie können die Größe des Bildes wie picture.width (float) .height (float) einstellen. Siehe das folgende Beispiel:

FBSDKGraphRequest* picRequest = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me?fields=picture.width(200).height(200)" 
                   parameters:nil 
                   HTTPMethod:@"GET"]; 

Sie die Anfrage prüfen können in Graph API Explorer

+0

Danke! Es klappt –

Verwandte Themen