Twitter O-Auth Rückruf-URL

8

Ich habe ein Problem mit der oauth-Authentifizierung von Twitter und der Verwendung einer Callback-URL.

Ich schreibe in PHP und verwende den Beispielcode, auf den das Twitter-Wiki Ссылка

verweist

Ich habe diesen Code und habe einen einfachen Test versucht und es hat gut funktioniert. Ich möchte jedoch die Rückruf-URL programmatisch angeben, und das Beispiel hat das nicht unterstützt.

Also habe ich die Methode getRequestToken () schnell modifiziert, um einen Parameter aufzunehmen, und jetzt sieht es so aus:

%Vor%

und mein Anruf sieht so aus

%Vor%

Dies ist die einzige Änderung, die ich vorgenommen habe, und die Weiterleitung funktioniert wie ein Zauber, aber ich erhalte einen Fehler, wenn ich dann versuche, meinen neu gewährten Zugang zu verwenden, um zu versuchen, einen Anruf zu tätigen. Ich erhalte den Fehler "Sie konnte nicht authentifiziert werden". Außerdem wird die Anwendung niemals zu den vom Benutzer autorisierten Verbindungen hinzugefügt.

Nun lese ich die Spezifikationen und dachte mir, dass ich nur den Parameter angeben muss, wenn ich das Anfrage-Token bekomme. Könnte jemand, der etwas mehr in OAUTH und TWITTER gewürzt ist, mir vielleicht eine Hand geben? Danke

    
jtymann 28.09.2009, 17:23
quelle

5 Antworten

7

Ich denke, das ist jetzt durch Twitter behoben oder Sie haben es versäumt, eine Standard-Callback-URL in Ihren Anwendungseinstellungen anzugeben, die erforderlich ist, damit die dynamische Callback-URL wie oben erwähnt funktioniert.

Jedenfalls funktionierte das, indem ich den Parameter oath_callback beim Abrufen des Anfrage-Tokens übergab. Ich verwende die twitter-async PHP-Bibliothek und musste eine kleine Optimierung vornehmen, damit die Bibliothek die Callback-URL übergibt.

Wenn Sie twitter-async verwenden, lautet die Änderung:

Die Funktionen getRequestToken und getAuthenticateURL wurden geändert, um die Callback-URL als Parameter zu übernehmen

%Vor%

Übergeben Sie die Callback-URL aus Ihrem PHP-Code.

%Vor%     
Murukesh 26.01.2011, 09:42
quelle
1

@Ian, Twitter erlaubt jetzt 127.0.0.1 und hat einige andere Änderungen vorgenommen.

@jtymann, überprüfe meine Antwort hier und schau, ob es hilft

Der Parameter "Twitter oauth_callback" wird ignoriert!

>

GL

Jingles

    
jsh 28.07.2010 10:06
quelle
1

sogar ich bekam 401 Fehler .. aber es ist gelöst .. Bei der Registrierung Ihrer Anwendung auf Twitter müssen Sie eine Rückruf-URL angeben ... wie Ссылка .

Ich habe das mit Java gemacht ... Also mein Code ist: String CallbackURL="http: // localhost: 8080 / tweetproj / index.jsp"; provider.retrieveRequestToken (consumer, CallbackURL);

wo tweetproj mein Projektname ist und index.jsp ist nur eine JSP-Seite ...

Hoffe, das hilft dir vielleicht ...

    
deepa 26.11.2010 12:27
quelle
0

Nachdem der Benutzer die Anwendung auf twitter.com autorisiert hat und zu Ihrer Rückruf-URL zurückkehrt, müssen Sie das Anfrage-Token gegen ein Zugriffstoken austauschen.

    
abraham 27.11.2010 09:52
quelle
-2

Twitter berücksichtigt den oauth_callback-Parameter nicht und verwendet nur den in den registrierten Anwendungseinstellungen angegebenen.

Es erlaubt auch nicht 127.0.0.1 oder localhost-Namen in diesem Callback, also habe ich Ссылка eingerichtet, für das Setup eingerichtet ist 127.0.0.1 in DNS, damit Sie sicher verwenden können;

%Vor%     
Dead account 08.03.2010 12:16
quelle

Tags und Links