2012-03-26 3 views
5

Die Github-Seite python-oauth2 gibt Anweisungen zum Erstellen signierter Anfragen mit req = oauth.Request(...), die ein Wörterbuch zurückgibt, das signiert werden kann. Aber wie sende ich diese Anfragen eigentlich?Anmeldeanfragen mit python-oauth2

+0

Ist das ein Duplikat? http://stackoverflow.com/questions/2138656/signing-requests-in-python-for-oauth – Daenyth

+1

@Daenyth: Es ist kein Duplikat von dieser Frage. Diese Frage hat benutzerdefinierten Python-Code, um die Signatur zu erstellen, die diese Frage mit der 'python-oauth2'-Bibliothek verwendet. – abraham

+0

zu lokalisiert? WTF – Jannis

Antwort

1

Sehen Sie sich den nächsten Schritt in der README an.

mit dem Client

import oauth2 as oauth 

# Create your consumer with the proper key/secret. 
consumer = oauth.Consumer(key="your-twitter-consumer-key", 
    secret="your-twitter-consumer-secret") 

# Request token URL for Twitter. 
request_token_url = "http://twitter.com/oauth/request_token" 

# Create our client. 
client = oauth.Client(consumer) 

# The OAuth Client request works just like httplib2 for the most part. 
resp, content = client.request(request_token_url, "GET") 
print resp 
print content 
+1

Ich denke, ich bin ein Opfer extrem schlechter Dokumentation. Ich glaube nicht, dass ich sogar den Abschnitt "Signieren" brauche, da das, was der Client in Ihrem Beispiel tut, für OAuth-Dienste ausreicht. – Steve

4

Gerade diese Zeile am Ende hinzu:

rs = urllib2.urlopen(req.to_url()) 

Wo req Ihr Objekt Anfrage ist.

+0

Dies funktioniert nicht für mich - es sendet nur die (unsigned) Anfrage an die URL. Ich erhalte eine Nachricht "Ungültige Authentifizierungsdaten", da die Anforderung nicht signiert ist. – pcv

+2

Tatsächlich fehlt den Dokumenten der Token-Parameter in Client. Sollte sein: client = oauth.Client (consumer, token); resp, content = client.request (URL, "GET") Btw. Warum ist diese Frage geschlossen? – pcv