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:
1o = Twitter("your-consumer-key","your-consumer-secret")
2o.getRequestToken()
3print o.getAuthorizeUrl()
4verifier = raw_input("Verifier:")
5o.getAccessToken(verifier)
6
7while(1 == 1):
8 m = raw_input("Method:")
9 u = raw_input("URL:")
10 print o.get(m,u)
Erweiterungen
Die entsprechende Erweiterung (in diesem Fall für Twitter) sieht so aus:
1from oauth import OAuth
2
3class Twitter(OAuth):
4 def __init__(self, consumer_key, consumer_secret):
5 self.request_token_url = "https://api.twitter.com/oauth/request_token"
6 self.authorize_url = "https://api.twitter.com/oauth/authorize"
7 self.access_token_url = "https://api.twitter.com/oauth/access_token"
8
9 self.consumer_key = consumer_key
10 self.consumer_secret = consumer_secret
Entsprechende Methodenaufrufe müssen natürlich noch hinzugefügt werden.