2010-11-19 10 views
0

Ich verwende clj-oauth für ein Schulprojekt, wo ich einen Desktop-Client erstellen, der von Twitter liest. Ich habe versucht, die client against Twitter zu authentifizieren und die PIN zu bekommen, damit ich es im Klienten einstellen und es vergessen kann (da dieses nur für persönlichen Gebrauch ist und nicht verteilt werden muss). Es scheint mir, dass, nachdem ich das Token anfordern, sollte ich in der Lage sein, das Ergebnis daraus drucken:Twitter Desktop-Client-Authentifizierung

(oauth/user-approval-uri consumer 
         request-token) 

Und dann verwenden Sie den URI zu authentifizieren gedruckt. Immer, wenn ich versuche, diesen URI in meinen Browser einzufügen, gibt Twitter mir einen Fehler und sagt, dass jemand das Token, das ich zur Verfügung gestellt habe, schon benutzt hat. Ich habe bereits alle Werte korrekt angegeben, um einen Verbraucher zu erstellen, und dann ein Anfrage-Token erhalten.

Gibt es einen einfachen Weg, um meine PIN nur über die CLI und meinen Browser zu erhalten?

Antwort

0

Ich stieß auf das gleiche Problem mit dieser Bibliothek. Es gibt einen kleineren Fehler in der Benutzer-Genehmigung-URI.

Sie können den Fix auf meiner Gabel https://github.com/kurtharriger/clj-oauth finden.

Die Abfragezeichenfolge sollte nur das oauth_token enthalten haben, aber die gesamte Karte geschrieben haben. Für eine schnelle einmalige Korrektur können Sie die zusätzlichen Bits wahrscheinlich nur beim Einfügen in Ihren Browser manuell aus der Abfragezeichenfolge entfernen.

1

Ich bin nicht positiv, aber ich denke, Sie müssen ein Access-Token erhalten, nachdem Sie ein Anfrage-Token erhalten. Einige davon sind erklärt here.

„Pin basiert Twitter OAuth funktioniert genau wie das Original (web) OAuth (Request-Token, Zugriffstoken), sondern zurück auf eine Web-Seite zurückzukehren, gibt Twitter einen PIN-Code, die Sie eingeben müssen in Ihren App, um ihr Anfrage-Token mit einem Zugriffstoken auszutauschen. "

Hoffentlich hilft das!

+0

Waffle - Ich verstehe, dass Sie eine PIN erhalten, aber wenn Sie [dieses Java-basierte Beispiel] betrachten (https://github.com/kaeppler/signpost-examples/blob/master/OAuthTwitterExample/src/TwitterMain. Java), können Sie sehen, dass es den Benutzer auf eine Webseite leitet, um eine PIN abzurufen. Mein Problem ist, dass meine Webseite mir eine Fehlermeldung über meine fehlerhafte Authentifizierung gibt. –

+0

Nun, soweit ich das aus der Tabelle unter http://oauth.net/core/1.0/ # anchor9 ersehen kann, müssen Sie im Prinzip das Zugriffstoken bekommen. Da Sie einen Desktop-Client erstellen und es sich um eine Einzelbenutzeranwendung handelt, können Sie dieses Token nur von Twitter beziehen. Wenn Sie die Anwendung unter http://dev.twitter.com/apps registrieren, können Sie nach der Registrierung in der Seitenleiste auf "Mein Zugangstoken" klicken. Das ist Ihr einzigartiger Token, von dem ich annehme, dass er direkt in der Anwendung platziert werden kann. Es wird hier erklärt: http://dev.twitter.com/pages/oauth_single_token – Waffle

Verwandte Themen