makeAdmin谷歌API Gsuite SDK错误。

问题描述 投票:0回答:1

我按照这篇文章把一个用户变成gsuite的Admin。https:/developers.google.comadmin-sdkdirectoryv1referenceusersmakeAdmin。

我是用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('[email protected]')

        self.service = googleapiclient.discovery.build('admin', 'directory_v1', credentials=self.delegated_credentials)
        self.service.users().makeAdmin(userKey="[email protected]").execute()

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

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

如果我尝试用用户列表,

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

它就能正常工作。

参数是什么?is_admin 错误是指什么?我在文档中没有看到任何关于它的内容。

谅谅

python google-api google-admin-sdk gsuite google-api-python-client
1个回答
2
投票

使管理 方法也有一个body paramater,它取一个布尔值。

{
  "status": boolean
}

我想这是你缺少的is_admin字段。

self.service.users().makeAdmin(userKey="[email protected]", { "status": True }).execute()
© www.soinside.com 2019 - 2024. All rights reserved.