2009-09-03 36 views
5

Tôi đang cố gắng triển khai "twitter oauth" trong appengine (python) bằng cách sử dụng http://code.google.com/p/oauth-python-twitter.401 Được phép sử dụng oauth-python-twitter

tôi sử dụng đoạn mã sau để chuyển hướng người dùng vào twitter:

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) 

người dùng sẽ được chuyển hướng thành công nhưng khi anh ấy trở lại trong ứng dụng của tôi, tôi nhận được lỗi sau: Lỗi HTTP 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) 

lỗi xảy ra khi tôi cố gắng lấy mã thông báo truy cập.

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. 

Bất kỳ ý tưởng nào? Cảm ơn bạn!

Trả lời

0

Đảm bảo người dùng (hoặc bản thân bạn) đã nhập tên ứng dụng của bạn trong phần được xác thực Twitter của tài khoản Twitter/của họ để ứng dụng của bạn có quyền kết nối.

2

tôi đã giải quyết được sự cố chỉ bằng cách sử dụng phiên bản thân của oauth-python-twitter và python-twitter.

Các vấn đề liên quan