makeAdmin google API Gsuite SDK 错误

makeAdmin google API Gsuite SDK errors

我按照这篇文章让用户成为 gsuite 的管理员: https://developers.google.com/admin-sdk/directory/v1/reference/users/makeAdmin

我正在使用 python 这样做,我的代码是:

        SCOPES = ['https://www.googleapis.com/auth/admin.directory.user', 'https://www.googleapis.com/auth/admin.directory.group', 'https://www.googleapis.com/auth/spreadsheets']
        SERVICE_ACCOUNT_FILE = 'SA.json'

        credentials = service_account.Credentials.from_service_account_file(
            SERVICE_ACCOUNT_FILE, scopes=SCOPES)

        self.delegated_credentials = credentials.with_subject('my_admin_user@domain.com')

        self.service = googleapiclient.discovery.build('admin', 'directory_v1', credentials=self.delegated_credentials)
        self.service.users().makeAdmin(userKey="user.email@domain.com").execute()

但不幸的是我得到了这个错误:

> googleapiclient.errors.HttpError: <HttpError 400 when requesting
> https://www.googleapis.com/admin/directory/v1/users/user.email@domain.com/makeAdmin?
> returned "Missing required field: is_admin">

如果我尝试列出用户:

users = self.service.users().list(customer='my_customer').execute()

一切正常。

错误所指的参数 is_admin 是什么?我在文档中看不到任何相关信息。

谢谢

Makeadmin 方法也有一个 body 参数,它接受一个布尔值

{
  "status": boolean
}

我认为这是您缺少的 is_admin 字段。

self.service.users().makeAdmin(userKey="user.email@domain.com", { "status": True }).execute()