使用 google 目录 API 时无法创建别名

Can't create aliases when using google directory API

我的代码如下所示。我的问题是,当我尝试更新 'aliases' 字段时,它不会发生。我的实现有什么问题?

store = file.Storage('token.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('credentials.json', SCOPES)
    creds = tools.run_flow(flow, store)
service = build('admin', 'directory_v1', http=creds.authorize(Http()))

body = { "name":{"familyName": "Aaab", "givenName": "Aaab"}, "password": "test@test", "primaryEmail": "testAAb@aaaa.no", "secondaryEmail": "test@gmail.com", 'aliases': ['testLeader@test.com']}
user_add = service.users().insert(body=body).execute()

使用其字段创建的用户:

    {'kind': 'admin#directory#user', 'id': '106377021897584806221', 'etag': '"TN30oD80QTVK45AAxvl_wbzs4vs/4WNsaqcVI4y7ARsciDEXH7K8Hh4"', 'primaryEmail': 'testaab@test.no', 'name': {'givenName': 'Aaab', 'familyName': 'Aaab', 'fullName': 'Aaab Aaab'}, 'isAdmin': False, 'isDelegatedAdmin': False, 'lastLoginTime': '1970-01-01T00:00:00.000Z', 'creationTime': '2018-10-24T16:43:27.000Z', 'agreedToTerms': True, 'suspended': False, 'archived': False, 'changePasswordAtNextLogin': False, 'ipWhitelisted': False, 'emails': [{'address': 'testaab@test.no', 'primary': True}], 'customerId': 'C02dcimb3', 'orgUnitPath': '/', 'isMailboxSetup': True, 'isEnrolledIn2Sv': False, 'isEnforcedIn2Sv': False, 'includeInGlobalAddressList': True}

问题似乎是在 Google 目录 API 中创建用户时无法为用户指定别名。由于文档列出了 here,因此没有 aliases 的字段。

要为用户添加别名,似乎使用了不同的 API 调用。您必须使用列出的 alias.insert API 调用手动插入每个您想要的别名 here。您似乎只需要唯一的 userKey 作为要传递的字段以及用户的别名。

此 API 调用的确切 Python 文档已列出 here

使用此函数的示例代码:

body = {"alias": "testLeader@test.com"}
service.users().aliases().insert(userKey=key, body=body).execute()