【问题标题】:How to use refresh_access_token in the Yahoo Social Python SDK如何在 Yahoo Social Python SDK 中使用 refresh_access_token
【发布时间】:2010-10-15 21:01:20
【问题描述】:

我正在尝试使用 Yahoo Social Python SDK 通过 oAuth 获取用户联系人。这是针对在 App Engine 上运行的网络应用程序。所以,我已经完成了 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 时,它会在该行失败。有人可以帮忙吗?

【问题讨论】:

  • '失败'怎么办?如果我们要提供任何帮助,我们需要一个堆栈跟踪。

标签: python google-app-engine oauth yahoo-api


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-03-01
      • 1970-01-01
      • 2014-01-15
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 1970-01-01
      • 2013-01-22
      • 1970-01-01
      相关资源
      最近更新 更多