ImportError: cannot import name SignedJwtAssertionCredentials

user1427661 picture user1427661 · Dec 28, 2012 · Viewed 43.9k times · Source

I'm trying to access a google app through the Python Client using this code to gain authorization (private info obviously redacted):

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)

Yet I receive this error:

ImportError: cannot import name SignedJwtAssertionCredentials

I have installed the Google v3 API Python Client as well as OAuth2; I don't seem to be having any other problems with those modules, though I haven't used them much. Anyone know what's going on?

Answer

Locane picture Locane · Feb 17, 2016

I had this problem today and had to roll back from oauth2client version 2.0 to version 1.5.2 with:

pip install oauth2client==1.5.2