2015-07-17 8 views
8

Ich verwende:Sortierung durch Graph API von Facebook-Seite auf iOS

if ([FBSDKAccessToken currentAccessToken]) { 
     [[[FBSDKGraphRequest alloc] initWithGraphPath:@"/v2.3/ID/feed" parameters:nil] 
     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
      if (!error) { 
       NSLog(@"fetched user:%@", result); 
      } 
     }]; 
    } 

Das ist mir einen JSON-String aller Daten gibt (und ich meine ALL) aus einer Facebook-Seite. Es gibt mir die Posts, IDs derjenigen, die die Beiträge mochten, jeden Kommentar, jede Person, die sie geteilt hat. Ich brauche wirklich nur den Beitrag selbst, der als 'Nachricht' im JSON-Ergebnis aufgeführt ist. Gibt es eine Möglichkeit, dies im API-Aufruf zu tun, oder muss es danach gemacht werden?

Auch, Gibt es eine Möglichkeit, es die Bilder zu ziehen, die mit jedem Beitrag verbunden sind? Ich weiß, wie man Fotos auf eine Seite bringt, aber ich möchte nur die auf der Seite gemachten Beiträge ansehen und es auch das Bild hochziehen lassen.

Antwort

4

Sie können Feed Antwort als unter

if ([FBSDKAccessToken currentAccessToken]) { 
    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"/v2.3/ID/feed" parameters:[NSMutableDictionary dictionaryWithObject:@"id, message, link.picture" forKey:@"fields"]] 
    startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
     if (!error) { 
      NSLog(@"fetched user:%@", result); 
     } 
    }]; 
} 

herauszufiltern Wie Sie überprüfen können, habe ich die Parameter genannt, die ich Informationen, die ich herausfiltern zu erhalten erfordert.
ANMERKUNG: Sie können Sachen entsprechend Ihrer Anforderung heraus filtern.
Bitte überprüfen Sie den folgenden Link für verfügbare Filtermöglichkeiten auf Facebook SDK.
https://developers.facebook.com/docs/graph-api/reference/v2.3/user/feed
Ich hoffe, es wird Ihnen helfen, nicht sicher über das Bild, das Sie hochziehen möchten, aber möglicherweise 'link.picture' in 'Felder' wird Ihnen helfen, das Bild, das Sie erhalten möchten.

+0

In der Fehlermeldung "Fehler Domain = com.facebook.sdk.core Code = 8" Die Operation konnte nicht abgeschlossen werden. (Com.facebook.sdk.core Fehler 8.) "UserInfo = 0x7fb90d82ae20 {com.facebook. sdk: FBSDKGraphRequestErrorCategoryKey = 0, com.facebook.sdk: FBSDKGraphRequestErrorHTTPStatusCodeKey = 400, com.facebook.sdk: FBSDKErrorDeveloperMessageKey = Syntaxfehler "Erwartet" (", Ende der Zeichenfolge erhalten" bei Zeichen 25: ID, Nachricht, Link.Picture, ' – user717452

4

Verwenden

/{page_id}/feed?fields=id,message 

Mit v2.4 Graph API dies die praxisnah sein, dass Sie jedes Feld angeben.

+0

Gibt es eine Möglichkeit, es zu bekommen, die Bilder zu ziehen, die mit jedem Pfosten verbunden sind? Ich weiß, wie man Fotos auf eine Seite bringt, aber ich möchte nur die auf der Seite gemachten Beiträge ansehen und es auch das Bild hochziehen lassen. – user717452

1

dies, dann ist es die Variable von NSString „link“, die Sie wollen:

if ([FBSDKAccessToken currentAccessToken]) { 
    FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]; 
    [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
     if (!error) { 
      NSDictionary *userData = (NSDictionary *)result; 
      NSString *facebookID = userData[@"id"]; 
      NSString *link = userData[@"link"]; 
      NSString *locale = userData[@"locale"]; 
      NSString *timezone = userData[@"timezone"]; 
      NSString *last_name = userData[@"last_name"]; 
      NSString *email = userData[@"email"]; 
      NSString *gender = userData[@"gender"]; 
      NSString *first_name = userData[@"first_name"]; 

     } else if (error) { 
      //tbd 
     } 
    }]; 
} else if (![FBSDKAccessToken currentAccessToken]) { 
    //tbd 
}