2012-02-01 11 views
10

(Disclaimer: Le access_tokens e AppID in questo post sono falsi e sono solo destinati a aspetto reale)Facebook token di accesso OAuth diverso quando si utilizza Graph API Explorer

Sto cercando di generare un access_token utilizzando la chiamata al seguente:

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=123456789000000&client_secret=03252f2ff1eddffe234a0dc7256abb8c

che mi dà un access_token in questo formato:

access_token = 123.456.789.000.000 | TR528Smvi4AXMM21Zhmi5XmJw mk

Se provo ad accedere a una pagina fan che è protetta da quella pedina come questo ottengo falso indietro: http://graph.facebook.com/109813019043531?access_token=123456789000000|TR528Smvi4AXMM21Zhmi5XmJwmk

Ora, se uso il Graph API Explorer e selezionare la stessa App come quella che sto utilizzando sopra per generare il token di accesso ottengo un token di accesso che assomiglia a questo:

ABBDSqE43jFSSbrS7ujvyLZClfyKDCZBhAuLXTtr9nwelj4MFwlijzejljEoNItC3lijzm3shemzq3jDFCdAZD

Se uso che token di accesso per accedere all'URL (http://graph.facebook.com/109813019043531) è funziona come previsto.

La mia domanda è, qual è la differenza tra i due e come posso generare uno programmaticamente che funziona come il secondo token?

+4

Solo una nota - si dovrebbe ** MAI * * post 'segreti dell'applicazione 'o' token di accesso'. Con quelle informazioni qualcuno potrebbe impersonare te, la tua applicazione o la tua pagina ed eseguire alcune azioni dannose. Ho rimosso i dati sensibili dal tuo post. Si prega di essere consapevoli di questo in futuro. – Lix

+0

Ne ero già consapevole, e quelli non sono sensibili. Stavo solo cercando di illustrare con precisione il formato dei token poiché ciò è rilevante per la mia domanda. Quelli non sono veri segreti di applicazione o token di accesso. Sono io a spingere a caso i tasti sulla mia tastiera :-) – gplocke

+1

Mi sembrava reale: $ hehe ... Torno indietro la modifica ... – Lix

risposta

13

Il primo che viene visualizzato è un token di accesso APP. Il secondo da Graph API Explorer è un token di accesso USER. C'è un terzo tipo chiamato token di accesso PAGE. Ognuno fa qualcosa di diverso.

I token di accesso APP vengono utilizzati per ottenere informazioni a cui l'app ha il privilegio di accedere. E in alcuni casi in cui publish_stream viene concesso da un utente dell'app, è possibile utilizzarlo per pubblicare sul muro dell'utente, senza bisogno di un token di accesso USER.

I token di accesso USER vengono assegnati alla tua app e si riferiscono alle autorizzazioni concesse da un'applicazione utente specifica all'applicazione in modo che l'app possa agire per suo conto.

I token di accesso alla pagina vengono assegnati agli amministratori delle pagine in modo che possano agire per conto della pagina. Per passare da un token di accesso utente a un token di accesso alla pagina, chiamare /me/accounts utilizzando il token di accesso utente per ottenere un elenco di pagine che amministrano insieme a token di accesso a ciascuna pagina.

Se si dispone di un token di accesso e si desidera sapere di più informazioni su di esso, non peloso è a https://developers.facebook.com/tools/lint

Per ulteriori informazioni sui token di accesso vedere: https://developers.facebook.com/docs/authentication

+2

come si acquistano i token di accesso USER? –

+1

Nell'oggetto authResponse di javascript ci sarà un token di accesso utente. ottieni la risposta auth dalla chiamata a FB.getLoginStatus(). Vedi http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/ per ulteriori informazioni. – DMCS

Problemi correlati