Question

Je suis en train d'utiliser le Python social Yahoo SDK pour obtenir un utilisateur contacts avec OAuth. Ceci est une webapp en cours d'exécution sur App Engine. , J'ai tout mis en place pour courir à travers la danse OAuth, l'échange des clés de consommation et tout ce que les vérificateurs et le jazz. Je stocke le jeton et peut le réutiliser pour récupérer un contact avec des utilisateurs jusqu'à ce que le jeton Expires une heure plus tard. Alors, est-ce qu'il ya quelqu'un qui a utilisé le SDK Python et peut me dire ce qui ne va pas avec ce code simple:

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()

L'exécution de ce jette l'erreur suivante:

'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>

En fait, si je commente la ligne avec refresh_access_token, et le jeton n'a pas expiré, ce code fonctionne et je reçois les contacts des utilisateurs. Mais avec refresh_acces_token, il échoue à cette ligne. Quelqu'un peut-il donner un coup de main?

Était-ce utile?

La solution 2

Résolu. Pour des raisons que je ne comprends pas, le code ci-dessus maintenant fonctionne. Il aurait pu être un problème sur la fin de Yahoo, mais je ne peux vraiment pas être sûr. Il a été fonctionne bien pendant deux semaines.

Autres conseils

On dirait que quelque chose de mal avec params passant. Essayez de débogage variable oauth_token.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top