Beispiel #1
0
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)
Beispiel #2
0
    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()