5

我正在尝试使用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.

任何想法?谢谢!

4

2 回答 2

2

我只使用 oauth-python-twitter 和 python-twitter 的主干版本解决了这个问题。

于 2009-12-07T13:34:42.047 回答
0

确保用户(或您自己)已在他们/您的 Twitter 帐户的 Twitter 身份验证部分输入您的应用程序名称,以便您的应用程序有权连接。

于 2009-12-06T18:26:50.377 回答