2010-06-07 11 views
5

Sono nuovo a OAuth e sto cercando di utilizzare Facebook Connect con la mia applicazione web.Utilizzo di Facebook OAuth 2.0 - Come posso recuperare il token di accesso?

Sono riuscito a ottenere un token di verifica, ma il mio problema è "il recupero" del token di accesso. Come posso recuperarlo? La documentazione Facebook mi dice di prendere il token di accesso con questo URL:

https://graph.facebook.com/oauth/access_token?' 
       + 'client_id=XXXXXXXXXXXX& redirect_uri=http://www.mysite.com/fbconn/index.html&display=touch&' 
       + 'client_secret=axxxxxcxxxxxxxxxxx&code=' + code; 

Quando uso questo vedo il token di accesso su una pagina vuota, ma voglio prendere con JavaScript (Ajax), PHP o qualcosa . È possibile? Pensavo che il token di accesso sarebbe stato aggiunto al mio URI di reindirizzamento come il codice di verifica, ma non sono mai stato reindirizzato alla mia pagina. Che cosa sto facendo di sbagliato?

+0

è PHP file_get_contents la strada da percorrere forse? –

risposta

6

È necessario aggiungere &type=user_agent alla richiesta. Otterrai AuthToken con un cancelletto nel seguente formato.

http://yourredirecturi#code=[accesstoken] 

Se si imposta la richiesta di &type=web_server, si otterrà l'authtoken come parametro di stringa di query: http://yourredirecturi&code=[accesstoken].

Ecco una spiegazione completa su come implementare il protocollo OAuth di Facebook. Gli esempi di codice sono in ASP.NET MVC, ma dovrebbe tradurre abbastanza bene per qualsiasi lingua:

Facebook Platform's OAuth 2.0 Protocol and ASP.NET MVC

+0

Grazie Amir, questo mi ha aiutato !! –

+1

Sono sorpreso che il parametro 'type' non sia documentato sulla [pagina di aiuto dell'autenticazione ufficiale] (http://developers.facebook.com/docs/authentication/). Ho trascorso alcuni giorni, cercando di capire come elaborare il token di accesso ricevuto in un frammento URI da un lato server, e se non fosse la tua risposta, avrei speso molto di più! Grazie mille! – jFrenetic

-5
$token = file_get_contents("the access token URL"); 

vi darà il token di accesso.

+0

signore, è il mio salvatore – p0larBoy

+7

-1 Qual è l'URL del token di accesso? Risposta orribile, molto vaga. – Petrogad

2

sentitevi liberi di provare il seguente frammento PHP per ottenere il vostro token di accesso:

//Fill in the parts in caps with your app details 
$token_url = "https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&client_secret=YOUR_APP_SECRET&code=THE_CODE_YOU_GOT_FROM_THE_SERVER"; 

$token=file_get_contents($token_url); //Fetching the token from the URL 

echo $token; //This is your access token 

Grazie,

+0

è l'ultimo codice = ACCESS_TOKEN_CODE? – sbaaaang

Problemi correlati