2015-07-17 5 views
8

sto usando:ordinamento attraverso Graph API di Facebook pagina su 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); 
      } 
     }]; 
    } 

Questo mi dà una stringa JSON di tutti i dati (e dico TUTTI) da una pagina di Facebook. Mi dà i post, gli ID di coloro a cui sono piaciuti i post, ogni commento, ogni persona che ha condiviso. Ho davvero solo bisogno del post stesso, che è elencato come 'messaggio' nel risultato JSON. C'è un modo per farlo nella chiamata API, o deve essere fatto dopo?

Inoltre, Esiste un modo per farlo estrarre le immagini associate a ciascun post? So come ottenere le foto pubblicate sulla pagina, ma voglio solo visualizzare i post creati sulla pagina, e farlo anche tirare su l'immagine.

risposta

4

è possibile filtrare la risposta di alimentazione, come di seguito

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); 
     } 
    }]; 
} 

Come è possibile verificare, ho già detto i parametri che ho informazioni che richiede di ottenere filtrare.
NOTA: È possibile filtrare le cose in base alle proprie esigenze.
Si prega di controllare sotto il link per le possibilità di filtro disponibili su Facebook SDK.
https://developers.facebook.com/docs/graph-api/reference/v2.3/user/feed
Spero che ti sia d'aiuto, Non sono sicuro della foto che vuoi far apparire ma potrebbe essere "link.picture" nei "campi" che ti aiuteranno a ottenere l'immagine che desideri.

+0

Trovato nel messaggio di errore 'Errore dominio = com.facebook.sdk.core Code = 8" Impossibile completare l'operazione. (Errore com.facebook.sdk.core 8.) "UserInfo = 0x7fb90d82ae20 {com.facebook. sdk: FBSDKGraphRequestErrorCategoryKey = 0, com.facebook.sdk: FBSDKGraphRequestErrorHTTPStatusCodeKey = 400, com.facebook.sdk: FBSDKErrorDeveloperMessageKey = Errore di sintassi "Previsto" (", ottenuto fine della stringa" al carattere 25: id, message, link.picture, ' – user717452

4

Usa

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

Con Graph API v2.4 questo sarà l'uso standard che è necessario specificare ogni campo.

+0

C'è un modo per farlo tirare le immagini che sono associati con ogni post? So come ottenere le foto pubblicate sulla pagina, ma voglio solo visualizzare i post creati sulla pagina, e farlo anche tirare su l'immagine. – user717452

1

questo, è la variabile di "link" NSString che si desidera:

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 
}