Benötigen Sie Hilfe zu OAuthException Code 2500

8

Ich versuche, eine Facebook-Anwendung (apps.facebook.com/some_app) mit PHP zu entwickeln, wo ich einige Informationen basierend auf den Musikinteressen des Benutzers präsentieren muss. Ich fand das unter "user_likes & gt; games".

Meine Probleme sind wie folgt:

  • Um Zugriff zu erhalten, habe ich die OAUTH-Dialogmethode als implementiert vorgeschlagen in API auf meiner Indexseite.
%Vor%
  • Nach erfolgreicher Autorisierung komme ich zurück zur Indexseite mit "code" als Parameter.
%Vor%
  • Erstens weiß ich nicht, ob ich access_token brauche, nur um die Musik des Benutzers zu lesen Interessen, aber ich habe alle vorgeschlagenen Methoden ausprobiert. Ich konnte mich nicht bewegen von diesem Punkt vorwärts
  • Ich habe einen Code wie diesen (auf meiner Indexseite), der zur Autorisierung umleitet, wenn Code-Parameter nicht gesetzt sind.
%Vor%
  • Momentan versuche ich nur, öffentliche Informationen von Benutzern hier zu bekommen, aber ohne Erfolg. Ich habe die signed_request-Methode wie vorgeschlagen ausprobiert aber kein Erfolg
%Vor%
  • Habe auch den Code ausprobiert Ссылка

    , aber ich bekomme einen Fehler, wenn ich versuche, die Debug-Informationen mit

    zu bekommen
%Vor% %Vor%

Um öffentliche Informationen des Benutzers zu erhalten, habe ich auch das vorgeschlagene Beispiel im PHP SDK versucht

%Vor%

Aber kein Erfolg. Kann mir jemand erklären, warum ich diesen Fehler bekomme und wie ich auf die Musikinteressen des Benutzers richtig zugreifen kann. Wahrscheinlich habe ich die API falsch verstanden.

Danke

Deepak

    
Laraveldeep 19.02.2012, 17:09
quelle

4 Antworten

9

Fehler 2500 bedeutet, dass Sie kein Zugriffstoken oder App-Zugriffstoken haben, aber versuchen, auf /me/ zuzugreifen. 'Ich' ist ein Platzhalter für 'aktuelle Benutzer- oder Seiten-ID' und ist daher ohne Zugriffstoken nicht gültig ein Benutzer oder eine Seite.

Um auf die Liste der Likes des Nutzers zuzugreifen, benötigen Sie auch die Berechtigung user_likes Berechtigung , um sie zu autorisieren

Die wahrscheinlichste Ursache für Apps, die code für ein Zugriffstoken nicht austauschen können, sind:

  1. Die von Ihnen verwendete redirect_uri bezieht sich auf einen Ordner oder Serverstamm und es fehlt ein abschließender Schrägstrich (d. h. es ist http://www.example.com anstelle von http://www.example.com/ )
  2. Das redirect_uri , das Sie beim ersten Aufruf des Authentifizierungsdialogs verwendet haben, stimmt nicht genau mit dem redirect_uri überein, das Sie beim Aufruf zum Exchangieren des Codes für ein access_token
  3. verwendet haben

Wenn Ihr Authentifizierungsfluss aus einem anderen Grund unterbrochen ist, können Sie dies nicht aus den SDK-Beispielen oder der Authentifizierung

    
Igy 17.06.2012 21:52
quelle
1

Ich habe versucht, ein Authentifizierungs-Token mit PHP zu bekommen, und herausgefunden, dass der 2500-Fehler auf ein Problem mit file_get_contents zurückzuführen ist, das nichts zurückgegeben hat. Ich könnte auf die URL in meinem Browser zugreifen, aber nicht mit file_get_contents . Ich habe es behoben, indem ich stattdessen CURL verwendet habe, wie hier beschrieben: Ссылка .

Das Ergebnis war, dass ich den Code von Ссылка verwendet und die Zeile ersetzt habe:

%Vor%

mit

%Vor%

Es wurde daher:

%Vor%     
lezoconnor 20.06.2012 09:39
quelle
0

probiere diesen Code

aus %Vor%

PS: Benutzer-E-Mail-Adresse ist keine öffentliche Info & amp; Sie benötigen die Berechtigung user_email dafür

    
Pooya Estakhri 20.02.2012 06:25
quelle
0

Ich habe mein Problem dank Ссылка

gelöst

Ich habe das Sample einfach kopiert und in mein Skript eingefügt. Es passt voll und ganz. Es ist eine Art hybride Verwendung von PHP und Javascript.

    
Kemal 18.06.2012 15:16
quelle