我正在尝试使用http://code.google.com/p/oauth-python-twitter在appengine(python)中实现“twitter oauth”。
我使用以下代码将用户重定向到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)
用户已成功重定向,但当他在我的应用程序中返回时,我收到以下错误: HTTP错误401:未经授权
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)
当我尝试获取访问令牌时发生错误。
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.
有什么想法吗? 谢谢!
答案 0 :(得分:2)
我使用oauth-python-twitter和python-twitter的trunk版本解决了这个问题。
答案 1 :(得分:0)
确保用户(或您的自己)在其/您的Twitter帐户的Twitter身份验证部分输入了您的应用名称,以便您的应用有权连接。