def test_convert(creds_json, sa_config_json): oauth = OAuth2Credentials.from_json(json.dumps(creds_json)) sa = ServiceAccountCredentials.from_json_keyfile_dict(sa_config_json) assert isinstance(util.convert_credentials(oauth), credentials.Credentials) assert isinstance(util.convert_credentials(sa), service_account.Credentials)
def __init__( self, user="******", config=None, scope=default_scope, creds=None, session=None, load_dirs=False, ): #: `(list)` - Feeds included for the OAuth2 scope self.scope = scope if isinstance(session, requests.Session): credentials = getattr(session, "credentials", creds) if not credentials: raise TypeError( "If you provide a session, you must also provide credentials" ) else: if isinstance(creds, Credentials): credentials = creds elif creds is not None and "oauth2client" in creds.__module__: credentials = convert_credentials(creds) elif isinstance(user, str): credentials = get_creds(user, config, self.scope) else: raise TypeError( "Need to provide user as a string or credentials as " "google.auth.credentials.Credentials") session = AuthorizedSession(credentials) super().__init__(credentials, session) monkey_patch_request(self) self._root = self._drive_request(file_id="root", params={"fields": "name,id"}) self._root["path"] = "/" if load_dirs: self.refresh_directories()