2015-09-19 9 views
8

Dalla mia comprensione, siamo in grado di recuperare le informazioni utente tramite qualcosa di simile:Facebook graph API ottenere tutti i dati campi

$cordovaFacebook.api(
    "me?fields=name,email,picture", ["public_profile", "email"]) 
    .then(function (response) { 
      console.log(response); 
    }, error); 

Come possiamo ottenere direttamente tutte le informazioni disponibili senza elencare uno per uno?

risposta

14

Come possiamo ottenere direttamente tutte le informazioni disponibili senza elencarle una per una?

Non è possibile.

Con API v2.4, Facebook ha ridotto il numero di campi restituiti per impostazione predefinita per i diversi endpoint, per migliorare le prestazioni (soprattutto per quanto riguarda le connessioni mobili.)

E 'stata una scelta deliberata - e per consentire per un “modo per aggirare” esso, sarebbe solo fare un sacco di sviluppatori pigri-a ** ancora solo chiedere loro tutto ;-)


Forse avete sentito ad un certo punto, che in SQL fe un SELECT * è considerato una cattiva pratica - questo è praticamente lo stesso caso qui. Si suppone essere esplicitamente richiesto i dati di ciò che serve ora - e non basta andare “Ti chiedo tutto, e capire cosa potevo possibile utilizzo per più tardi.”


Se non si è sicuri quali campi sono disponibili per un determinato endpoint, quindi consultare la documentazione per tale endpoint oppure utilizzare Introspection per ottenere un elenco di tutti i campi.

+1

Questo è davvero fastidioso per la navigazione in Graph API Explorer: - / –

0

Per python, la libreria Facepy racchiude già la funzione get per ottenere tutti i campi possibili.