2009-09-03 6 views
5

Ich versuche, "Twitter oauth" in appengine (Python) mit http://code.google.com/p/oauth-python-twitter zu implementieren.401 Nicht autorisiert mit oauth-python-twitter

Ich verwende den folgenden Code den Benutzer in twitter zu umleiten:

twitter = OAuthApi(CONSUMER_KEY, CONSUMER_SECRET) 
request_token = twitter.getRequestToken() 
response.set_cookie('request_token', request_token.to_string()) 
signin_url = twitter.getAuthorizationURL(request_token) 
return redirect_to(signin_url) 

der Benutzer erfolgreich umgeleitet wird, aber wenn er zurückkehrt in meiner Anwendung ich die folgende Fehlermeldung: HTTP-Fehler 401: Unauthorized

File "/base/data/home/apps/app/controllers/users.py", line 46, in authenticate 
    access_token = twitter.getAccessToken()  
    File "/base/data/home/apps/app/lib/python/oauthtwitter.py", line 183, in getAccessToken 
    token = self._FetchUrl(url, no_cache=True) 
    ...... 
    File "/base/python_dist/lib/python2.5/urllib2.py", line 506, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 

Der Fehler tritt auf, wenn ich versuche, ein Zugriffs-Token zu erhalten.

request_token = request.cookies['request_token'] 
token = oauth.OAuthToken.from_string(request_token) 
twitter = OAuthApi(app_globals.CONSUMER_KEY, app_globals.CONSUMER_SECRET, token) # everything works good 
access_token = twitter.getAccessToken() # then, i receive the error. 

Irgendeine Idee? Vielen Dank!

Antwort

0

Vergewissern Sie sich, dass der Benutzer (oder Sie selbst) Ihren App-Namen im authentifizierten Twitter-Bereich ihres/Ihres Twitter-Kontos eingegeben hat, damit Ihre Anwendung die Berechtigung zum Herstellen einer Verbindung hat.

2

Ich löste das Problem nur mit der Stammversion von oauth-python-twitter und python-twitter.