2012-02-25 7 views
7

Bene, questo può sembrare strano. Quando un'applicazione facebook è configurato per essere un nativo/desktop app (Apps-> Il tuo App-> Avanzate> Tipo di App), l' 'accesso app token' ottenere da questa proceduraAPI grafico Facebook - Utilizzo, 'token di accesso app' per scaricare feed di pagine Facebook (Soluzione)

https://graph.facebook.com/oauth/access_token? "+" Client_id =" + APP_ID + "& client_secret =" + APP_SEC + "& grant_type = client_credentials"

non funzionerà, per andare a prendere i feed o post di una pagina di Facebook. Come da facebook documentazione recupero nutre richiede solo qualsiasi access_token valido o utente access_token, abbastanza strano non funziona in questo modo, se l'app è configurata per essere nativo/desktop.

1 La soluzione, trovata dopo una ricerca di un giorno, giunge alla conclusione frustrante che deve essere configurata come applicazione basata sul Web in (App-> La tua APP-> Avanzata-> Tipo di app).

Una volta impostato, la procedura sopra riportata per scaricare i feed funziona. Ciò solleva una domanda, è un bug? o ho frainteso la documentazione.

Spero di avere risparmiato un giorno per te, se hai lavorato su feed di pagine Facebook in questi giorni e ti stai tirando indietro i capelli, per la frustrazione per ovvi motivi.

[1] Facebook forum post

+0

Quello che vi serve è l'access_token per la pagina facebook - leggere questo su come ottenere che http://stackoverflow.com/questions/9395356/facebook-post-image-and-description -to-wall-and-in-page-album-via-php/9395916 # 9395916 - quindi usa l'api del grafico come se stessi ricevendo feed per un utente normale (utilizzando l'id della pagina Facebook e il token di accesso indicato) – scibuff

+0

ti lodo, appType conta. Stavo cercando di ottenere dati JSON grezzi di vari feed pubblici, ma dal 2012 ho richiesto un token utente scaduto dopo 60 giorni, in questo modo usando solo appID + appSecret-> appToken Posso avere di nuovo un semplice accesso ai dati pubblici di Facebook :-) – PetrV

risposta

1

Ecco la relativa documentazione su Usa un App token di accesso

App token di accesso è consentito solo quando le funzioni di scrittura sono originati direttamente dai server al fine di mantenerli privato per l'app. Ad esempio, non devi pubblicare utilizzando un token di accesso per app da un client come un'app mobile nativa. Ciò potrebbe consentire alle persone di ottenere il token di accesso alle app, che potrebbe quindi consentire loro di intraprendere azioni per conto della tua app. Invece, dovresti fare in modo che la tua app nativa mobile esegua le azioni con il tuo server e poi chiedi al tuo server di pubblicare le storie su Facebook usando il token di accesso alle app. Per questo motivo, se il tuo 'Tipo di app' in Impostazioni> Avanzate è impostato su 'Nativo/Desktop', assumiamo che l'app client contenga l'App Secret o un token di accesso all'app nel suo binario e non consenta le chiamate firmate con un Token di accesso all'app per procedere. L'API si comporterà come se non fosse stato fornito alcun token di accesso.

Source

anche su Ottenere un App token di accesso:

Perché richiede di includere il tuo App segreto non si dovrebbe tentare di effettuare questa chiamata lato client come questo esporrebbe questo segreto a tutti gli utenti della tua app. È importante che il tuo App Secret non venga mai condiviso con nessuno. Per questo motivo, questa chiamata dovrebbe essere eseguita lato server [...]

Source