Schon vor einiger Zeit habe ich mich mit OAuth beschäftigt. Dabei ist eine kleine Python-Bibliothek entstanden, die als Open Source Projekt sicher besser aufgehoben ist, als auf meiner Festplatte.
Darum habe ich sie heute auf Github gestellt: OAuth.py
Verwendung
Die Bibliothek besteht aus einem Kern und Erweiterungen. Der Kern wird durch die Klassen für die jeweiligen Anbieter erweitert und kann dann im Code verwendet werden. Einen einfachen API-Client kann man beispielsweise so realisieren:
o = Twitter("your-consumer-key","your-consumer-secret")
o.getRequestToken()
print o.getAuthorizeUrl()
verifier = raw_input("Verifier:")
o.getAccessToken(verifier)
while(1 == 1):
m = raw_input("Method:")
u = raw_input("URL:")
print o.get(m,u)
Erweiterungen
Die entsprechende Erweiterung (in diesem Fall für Twitter) sieht so aus:
from oauth import OAuth
class Twitter(OAuth):
def __init__(self, consumer_key, consumer_secret):
self.request_token_url = "https://api.twitter.com/oauth/request_token"
self.authorize_url = "https://api.twitter.com/oauth/authorize"
self.access_token_url = "https://api.twitter.com/oauth/access_token"
self.consumer_key = consumer_key
self.consumer_secret = consumer_secret
Entsprechende Methodenaufrufe müssen natürlich noch hinzugefügt werden.