2012-03-29 5 views
0

ich weiß nicht, warum, wenn ich facebook php sdk 3.1.1 auf codeigniter bin mit mit folgenden Code:Facebook App-Token statt Benutzertoken php sdk

... 
... 
$this->config->load('facebook', TRUE); 
$config = $this->config->item('facebook'); 
$this->load->library('facebook', $config); 

echo $this->facebook->getAccessToken(); 
.... 

i App Zugriffstoken abrufen stattdessen (das richtige) Benutzerzugriffstoken.
infact, wenn ich versuche

$this->facebook->api('/me') 

php zurückgeben mir ein Fehler wie dieser

Fatal error zu nennen: Uncaught OAuthException: Eine aktive Zugriffstoken Informationen über den aktuellen Benutzer abgefragt werden müssen . geworfen in /srv/www/...

Ich habe versucht, bis 3.0 Version der Bibliothek zu ändern, aber nichts geändert

Wer etwas über das wissen?

Antwort

2

/me gibt Ihre persönlichen Profilinformationen zurück. Wenn Sie /me abfragen möchten, müssen Sie sich über ein Benutzerzugriffstoken authentifizieren, das sich über dem Zugriffstoken auf App-Ebene befindet.

Peruse in Ihrer Freizeit: https://developers.facebook.com/docs/authentication/

+0

Ja ich weiß, ist, was ich tun .... vielleicht ist es nicht, weil ich in einer Facebook-Seite Registerkarte bin funktioniert? So kann die Bibliothek nicht auf die Variablen '$ _REQUEST ['code']' und '$ _REQUEST ['state']' ' – jkkso

+0

zugreifen Damit"/me "funktioniert, müssen Sie sich in Ihrer App als" anmelden " Facebook-Nutzer - der Facebook mitteilt, dass es in Ordnung ist, Ihre eigenen persönlichen Daten mit der von Ihnen erstellten App zu teilen. Dies unterscheidet sich von Ihrem App-Zugriffstoken. Lesen Sie die Dokumentation durch - es wird Ihnen helfen. – Seabass

+1

** Behoben **. Um dies zu beheben, muss ich '$ this-> facebook-> getAccessToken();' nach dem Laden der Facebook-Bibliothek in der '__construct()' Methode meines Controllers aufrufen. Facebook sdk ruft auf diese Weise das korrekte Zugriffstoken ab und speichert es in einer Sitzung. Dank. – jkkso