Wie verwenden refresh_access_token im Yahoo Social Python-SDK
-
08-10-2019 - |
Frage
Ich versuche, die Yahoo Social Python-SDK zu verwenden, um einen Benutzer Kontakt durch oAuth zu erhalten. Dies ist für eine Webapp auf App Engine ausgeführt wird. SO habe ich alles eingerichtet durch den oAuth Tanz zu laufen, den Austausch von Verbrauchern Schlüssel und Verifizierer und alles, was Jazz. Ich speichere das Token und kann wiederverwendet werden ein Benutzer Kontakte abrufen, bis das Token die eine Stunde später abläuft. Also, gibt es jemand da draußen, die den Python-SDK verwendet hat und kann mir sagen, was mit diesem einfachen Code falsch ist:
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()
der Lauf führt den folgenden Fehler:
'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>
Grundsätzlich, wenn ich die Zeile mit refresh_access_token Kommentar aus, und das Token nicht abgelaufen ist, ist dieser Code funktioniert, und ich bekomme die Benutzer Kontakte. Aber mit refresh_acces_token, scheitert es an dieser Linie. Kann mir jemand eine Hand geben?
Lösung 2
Gelöst. Aus Gründen kann ich jetzt nicht mehr funktioniert, der obige Code verstehen einfach. Es könnte ein Problem auf Yahoos Ende gewesen, aber ich kann wirklich nicht sicher sein. Es ist schon seit zwei Wochen läuft gut.
Andere Tipps
Sieht aus wie etwas falsch mit vorbei params. Versuchen Sie zu debuggen oauth_token Variable.