ImportError: Name SignedJwtAssertionCredentials kann nicht importiert werden
Ich versuche, auf eine google-app über den Python-Client mit diesem code zu gewinnen Autorisierung (private info natürlich unkenntlich gemacht):
import gflags
import httplib2
from apiclient.discovery import build
from oauth2client.file import Storage
from oauth2client.client import SignedJwtAssertionCredentials
from oauth2client.tools import run
f = open('privatekey.p12', 'rb')
key = f.read()
f.close()
credentials = SignedJwtAssertionCredentials(
service_account_name='[email protected]',
private_key=key,
scope = 'https://www.googleapis.com/auth/calendar')
http = httplib2.Http()
http = credentials.authorize(http)
service = build(serviceName='calendar', version='v3', http=http)
Doch habe ich diese Fehlermeldung erhalten:
ImportError: cannot import name SignedJwtAssertionCredentials
Habe ich installiert die Google v3 API-Python-Client sowie OAuth2, ich weiß nicht zu sein scheinen, dass andere Probleme mit diesen Modulen, aber ich habe Sie nicht genutzt viel. Wer weiß, was Los ist???
InformationsquelleAutor der Frage user1427661 | 2012-12-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es, wie Sie havn ' T pyopenssl installiert. Installieren Sie über
easy_install pyopenssl
.InformationsquelleAutor der Antwort alexander margraf
Ich hatte heute dieses problem und musste ein Rollback von oauth2client version 2.0 auf version 1.5.2 mit:
InformationsquelleAutor der Antwort Locane
Den Quell-repository wurde kürzlich aktualisiert, um den neuen code:
InformationsquelleAutor der Antwort Matt
Als alexander margraf gesagt, Sie müssen PyOpenSSL zu importieren SignedJwtAssertionCredentials
einfach: pip install pyopenssl
Denken Sie DARAN: Es schlägt unter Windows fehl, wenn Sie nicht über OpenSSL-Win32-libs installiert http://slproweb.com/products/Win32OpenSSL.html (Sie benötigen die volle Paket, nicht die light-version). Auch halten Sie daran, Sie müssen es hinzufügen, zu Ihrer path-var vor der Installation pyopenssl
InformationsquelleAutor der Antwort Bartoszer
Ich war, und versuchte, einen lokalen dev-Umgebung und keine der Lösungen, die hier arbeiteten. Das zusätzliche Stück des Puzzles für mich war:
gegebenenfalls zusätzlich zu einem oder allen:
GAE hat die
pycrypto
- Paket intern verfügbar (überprüfen Sie die Bibliotheken aufgeführt, die in Ihrer app.yaml) so etwas brauchen könnte es die Arbeit an Ihren Maschinen, aber nicht von dir - finde ich - sorry, ich bin mir noch nicht klar, was und warum Sie das Leben so Elend mit den Bibliotheken noch.InformationsquelleAutor der Antwort John Mee
Überprüfen Sie Ihre
oauth2client
version zuerst.Wenn diese version >= 2.0, mit der die
ServiceAccountCredentials
stattSignedJwtAssertionCredentials
.Blick auf die drei Referenz:
InformationsquelleAutor der Antwort sih4sing5hog5