Как использовать Refresh_access_Token в социальном Python Yahoo SDK

StackOverflow https://stackoverflow.com/questions/3946093

Вопрос

Я пытаюсь использовать Yahoo Social Python SDK, чтобы получить контакты пользователей через OAuth. Это для WebApp, работающего на 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, он не удается в этой линии. Кто-нибудь может дать руку?

Это было полезно?

Решение 2

Решено. По причинам я не могу понять, приведенный выше код только что работает. Это могло бы быть проблемой на конце Yahoo, но я действительно не могу быть уверен. Это проводится нормально в течение двух недель.

Другие советы

Похоже, что-то не так с прохождениями. Попробуйте отладить переменную Oauth_Token.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top