我正在尝试使用Yahoo Social Python SDK通过Oauth来获得用户联系。这是用于在应用引擎上运行的WebApp。因此,我设置了一切,以贯穿Oauth舞蹈,交换消费者钥匙和验证者以及所有爵士乐。我存储令牌,并可以将其重复使用以检索用户联系人,直到一个小时后的令牌到期。因此,是否有人使用过Python SDK,可以告诉我这个简单的代码有什么问题:

import yahoo.application
CONSUMER_KEY      = '####'
CONSUMER_SECRET   = '##'
APPLICATION_ID    = '##'
CALLBACK_URL      = '##'
oauthapp      = yahoo.application.OAuthApplication(CONSUMER_KEY, CONSUMER_SECRET, APPLICATION_ID, CALLBACK_URL)
oauthapp.token = yahoo.oauth.AccessToken.from_string(access_token) #access_token is legit string pulled from datastore
oauthapp.token = oauthapp.refresh_access_token(oauthapp.token)
contacts = oauthapp.getContacts()

运行这将引发以下错误:

'oauth_token'<br>
Traceback (most recent call last):<br>
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__<br>
handler.post(*groups)<br>
File "/base/data/home/apps/testproj/2.345270664321958961/scripteditor.py", line 1249, in post<br>
oauthapp.token = oauthapp.refresh_access_token(oauthapp.token)<br>
File "/base/data/home/apps/testproj/2.345270664321958961/yahoo/application.py", line 90, in refresh_access_token<br>
self.token = self.client.fetch_access_token(request)<br>
File "/base/data/home/apps/testproj/2.345270664321958961/yahoo/oauth.py", line 165, in fetch_access_token<br>
return AccessToken.from_string(self.connection.getresponse().read().strip())<br>
File "/base/data/home/apps/testproj/2.345270664321958961/yahoo/oauth.py", line 130, in from_string<br>
key = params['oauth_token'][0]<br>
KeyError: 'oauth_token'<br>

基本上,如果我用Refresh_access_token评论了这条线,并且令牌尚未过期,则该代码可以正常工作,并且我会获得用户联系。但是,使用Refresh_acces_token,它在该线路上失败。谁能伸出援手?

有帮助吗?

解决方案 2

解决了。由于我无法理解的原因,以上代码现在正常工作。在雅虎的末尾可能是一个问题,但我真的不确定。运行良好两个星期。

其他提示

传递参数似乎有问题。尝试调试oauth_token变量。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top