Directory API 提供了用于创建、更新和删除用户的程序化方法。您还可以获取有关具体用户的信息,或获取符合指定条件的用户列表。以下是一些基本用户操作的示例。
创建用户账号
您可以将用户账号添加到 Google Workspace 账号的任何网域。在添加用户账号之前,请先确认域名所有权。
如果您将个人 Gmail 账号升级为使用您自己的域名的企业电子邮件账号,则必须先解锁其他 Google Workspace 设置,才能创建新用户账号。有关详情,请参阅 G Suite 企业电子邮件账号已更新为 G Suite 基本版。
如需使用您的某个网域创建用户账号,请使用以下 POST
请求,并在其中添加了解身份验证和授权中所述的授权。您可以在 OAuth 2.0 范围列表中查看适用于 Directory API 的可用范围。如需了解请求查询字符串属性,请参阅 users.insert()
方法。
POST https://admin.googleapis.com/admin/directory/v1/users
您必须提交创建请求所需的信息,才能完成相应请求。如果您使用的是客户端库,则这些库会将您所选语言的数据对象转换为 JSON 数据格式的对象。
JSON 请求
以下 JSON 显示了用于创建用户的示例请求。如需查看请求和响应属性的完整列表,请参阅 API 参考文档。
{ "primaryEmail": "[email protected]", "name": { "givenName": "Elizabeth", "familyName": "Smith" }, "suspended": false, "password": "new user password", "hashFunction": "SHA-1", "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "[email protected]", "primary": true } ], "emails": [ { "address": "[email protected]", "type": "home", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "12345", "type": "custom", "customType": "employee" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "type": "work", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "orgUnitPath": "/corp/engineering", "includeInGlobalAddressList": true }
如果您对创建请求的查询速率过高,则可能会收到来自 API 服务器的 HTTP 503
响应,表明您已超出配额。如果您收到这些响应,请使用指数退避算法重试请求。
关于新账号的注意事项如下:
- 如果 Google 账号已购买邮件许可,系统会自动为新用户账号分配一个邮箱。此作业可能需要几分钟才能完成并激活。
- 如果您修改请求中的只读字段(例如
isAdmin
),API 服务会静默忽略该修改。 - 一个账号中允许的域名数量上限为 600 个(1 个主域名 + 599 个其他域名)
- 如果在创建用户账号时未向用户分配特定组织部门,则该账号会位于顶级组织部门中。用户所在的组织部门决定了用户可以使用哪些 Google Workspace 服务。如果将用户移至新组织,该用户的访问权限也会发生变化。如需详细了解组织结构,请访问管理帮助中心。如需详细了解如何将用户移至其他组织,请参阅更新用户。
- 新用户账号必须具有
password
。如果指定了hashFunction
,则密码必须是有效的哈希键。如果未指定,密码应为明文,并且应包含 8 到 100 个 ASCII 字符。如需了解详情,请参阅 API 参考文档。 - 对于采用 Google Workspace 弹性方案的用户,使用此 API 创建用户将产生经济影响,并会导致您的客户结算账号产生扣款。如需了解详情,请参阅 API 结算信息。
- Google Workspace 账号可以包含您的任何网域。在多网域账号中,一个网域中的用户可以与其他账号网域中的用户共享服务。如需详细了解多网域中的用户,请参阅 API 多网域信息。
- 可能存在有冲突的账号。检查您计划添加的用户是否已拥有 Google 账号。然后按照相关步骤操作,以避免与这些账号冲突。请参阅查找和处理有冲突的账号。
- 其中可能包含访客账号。如果用户邀请组织外部没有 Google 账号的人员在云端硬盘中协作,对方会收到访客账号,格式为访客_用户名@您的网域名.com。如果您添加的用户的用户名与访客账号的用户名相同,该账号将转换为完整的 Google Workspace 账号。该账号将保留其现有的云端硬盘文件权限。请参阅与访客共享文档。
成功的响应会返回 HTTP 200 状态代码。除了状态代码以外,响应还会返回新用户账号的属性。
更新用户账号
如需更新用户账号,请使用以下 PUT
请求,并在其中添加授权请求中所述的授权令牌。userKey
可以是用户的主电子邮件地址、唯一用户 id
,或用户的别名电子邮件地址之一。
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
请求正文和响应正文都包含 User
实例。不过,Directory API 支持补丁语义,因此您只需在请求中提交更新后的字段即可。
示例请求
在以下示例中,用户账号创建时,用户的 givenName
为“Elizabeth”,并且只提供了工作电子邮件地址。
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "[email protected]",
"type": "work",
"primary": true
}
}
以下请求会将 givenName
从“Elizabeth”更新为“Liz”,并添加一个住址电子邮件地址。请注意,由于该字段是数组,因此需要提供两个电子邮件地址的完整内容。
PUT https://admin.googleapis.com/admin/directory/v1/users/[email protected]
{
"name": {
"givenName": "Liz",
},
"emails": [
{
"address": "[email protected]",
"type": "work",
"primary": true
},
{
"address": "[email protected]",
"type": "home"
}
]
}
成功的响应会返回 HTTP 200
状态代码和包含更新后的字段的 User
资源。
更新用户的账号名称时,请注意以下事项:
- 重命名用户账号会更改用户的主电子邮件地址,以及检索此用户信息时使用的网域。在重命名用户之前,我们建议您先让用户退出所有浏览器会话和服务。
- 重命名用户账号的过程最长可能需要 10 分钟才能传播到所有服务。
- 您重命名用户后,系统会将旧用户名保留为别名,以确保在电子邮件转发设置的情况下能够继续收发邮件,但该用户名无法用作新用户名。
- 一般来说,我们还建议不要将用户电子邮件地址用作永久性数据的键,因为电子邮件地址可能会发生变化。
- 如需查看在 Google Workspace 应用中重命名用户的所有影响,请访问管理员帮助中心。
将用户设为管理员
如需将用户提升为超级用户,请使用以下 POST
请求,并在其中添加为请求授权中所述的授权。userKey
可以是用户的主电子邮件地址、唯一用户 id
,或用户的某个别名电子邮件地址。如需了解请求和响应属性,请参阅 API 参考文档。如需详细了解超级用户,请参阅管理帮助中心。
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
JSON 请求
在此示例中,userKey
为 [email protected] 的用户已成为超级用户:
POST https://admin.googleapis.com/admin/directory/v1/users/[email protected]/makeAdmin
{ "status": true }
成功的响应会返回 HTTP 200 状态代码。
管理用户关系
Directory API 使用 relations
字段来定义用户之间的不同类型的关系。在企业环境中,人们通常使用此字段来表示经理与员工和助理之间的关系,但此字段也支持许多其他类型。在支持该卡片的任何 Google Workspace 应用中,用户的“相关人员”卡片中都会显示此关系。如需查看此卡片在哪些位置显示的示例,请参阅向用户目录中的个人资料添加信息。
在用户之间建立关系
您只能单向定义关系,从“拥有者”用户(其记录包含 relations
字段)开始。type
用于描述对方与所有者用户的关系。例如,在经理-员工关系中,员工是所有者用户,您可以向其账号添加类型为 manager
的 relations
字段。如需了解允许的类型,请参阅 User
对象参考。
使用包含 relations
字段的 JSON 请求正文创建或更新所有者用户,以建立此关系。您可以在一个请求中创建多个关系。
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_1",
"type": "manager"
},
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "dotted_line_manager"
}
]
}
更新或删除关系
您只能整体更新 relations
字段,无法针对所列的个人更改关系类型或将其移除。在上述示例中,若要移除现有经理关系并将虚线经理设为所有者用户的经理,请根据您现在想要的字段值更新所有者用户的账号。
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
如需移除所有所有者用户的关系,请将 relations
设为空:
{
"relations": []
}
检索用户
如需检索用户,请使用以下 GET
请求,并在其中添加授权请求中所述的授权。userKey
可以是用户的主电子邮件地址、唯一用户 id
,或用户的别名电子邮件地址之一。如需了解请求和响应属性,请参阅 API 参考文档。
GET https://admin.googleapis.com/admin/directory/v1/users/userKey
以下示例会返回主电子邮件地址或别名电子邮件地址为 [email protected] 的用户的用户账号属性:
GET https://admin.googleapis.com/admin/directory/v1/users/[email protected]
JSON 响应
成功的响应会返回 HTTP 200 状态代码。除了状态代码以外,响应还会返回用户账号的属性。
{ "kind": "directory#user", "id": "the unique user id", "primaryEmail": "[email protected]", "name": { "givenName": "Liz", "familyName": "Smith", "fullName": "Liz Smith" }, "isAdmin": true, "isDelegatedAdmin": false, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "[email protected]", "primary": true } ], "emails": [ { "address": "[email protected]", "type": "home", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "customType": "", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "aliases": [ "[email protected]", "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true }
检索网域中的所有用户
如需检索同一网域中的所有用户,请使用以下 GET
请求,并包含为请求授权中所述的授权。为了方便阅读,此示例使用回车断行:
GET https://admin.googleapis.com/admin/directory/v1/users ?domain=primary domain name&pageToken=token for next results page &maxResults=max number of results per page &orderBy=email, givenName, or familyName &sortOrder=ascending or descending &query=email, givenName, or familyName:the query's value*
如需了解请求和响应属性,请参阅 API 参考文档。
JSON 响应
在此示例中,系统会返回 example.com 网域中的所有用户,每个响应页面最多包含 2 个用户网域。此响应中包含一个 nextPageToken
,用于表示后续用户列表。默认情况下,系统会按用户电子邮件地址的字母顺序返回 100 位用户的列表:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
成功的响应会返回 HTTP 200 状态代码。除了状态代码以外,响应还会返回 example.com 网域 (maxResults=2
) 中的 2 个用户账号:
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "[email protected]", "name": { "givenName": "Liz", "familyName": "Smith", "fullName": "Liz Smith" }, "isAdmin": true, "isDelegatedAdmin": false, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "[email protected]", "primary": true } ], "emails": [ { "address": "[email protected]", "type": "work", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "customType": "", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "aliases": [ "[email protected]", "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "user unique ID", "primaryEmail": "[email protected]", "name": { "givenName": "admin", "familyName": "two", "fullName": "admin two" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": true, "suspensionReason": "ADMIN", "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "[email protected]", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "contractor license number", "type": "custom", "customType": "work" } ], "aliases": [ "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true } ], "nextPageToken": "next page token" }
检索所有账号用户
如需检索账号(可能包含多个网域)中的所有用户,请使用以下 GET
请求,并包含为请求授权中所述的授权。为了方便阅读,此示例使用回车断行:
GET https://admin.googleapis.com/admin/directory/v1/users ?customer=my_customer or customerId&pageToken=token for next results page &maxResults=max number of results per page &orderBy=email, givenName, or familyName &sortOrder=ascending or descending &query=user attributes
customer
查询字符串是my_customer
或customerId
值。- 使用字符串
my_customer
表示账号的customerId
。 - 作为转销商管理员,请使用转售客户的
customerId
。对于customerId
,请在检索域名中的所有用户操作请求中使用账号的主域名。生成的响应具有customerId
值。 - 可选的
orderBy
查询字符串用于确定列表是按用户的主电子邮件地址、姓氏还是名字进行排序。使用orderBy
时,您还可以使用sortOrder
查询字符串按升序或降序列出结果。 - 可选的
query
查询字符串可用于搜索用户个人资料中的多个字段,包括核心字段和自定义字段。如需查看示例,请参阅搜索用户。
如需了解请求和响应属性,请参阅 API 参考文档。
在此示例中,账号管理员请求返回账号中的所有用户,并在每个响应页面上显示一条用户条目。nextPageToken
会转到后续的结果页:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
在此示例中,转销商管理员请求获取 customerId
值为 C03az79cb
的转销账号中的所有用户。
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
JSON 响应
成功的响应会返回 HTTP 200 状态代码。除了状态代码以外,响应还会返回此账号中的所有用户:
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "username": "[email protected]", "name": { "givenName": "admin", "familyName": "two", "fullName": "admin two" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "[email protected]", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "[email protected]", "name": { "givenName": "Elizabeth", "familyName": "Smith", "fullName": "Elizabeth Smith" }, "isAdmin": false, "isDelegatedAdmin": false, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": false, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "[email protected]", "type": "home", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "bank" } ], "relations": [ { "value": "liz", "type": "friend", "customType": "" } ], "aliases": [ "[email protected]", "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "[email protected]", "name": { "givenName": "Tester", "familyName": "Three", "fullName": "Tester Three" }, "isAdmin": false, "isDelegatedAdmin": false, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "[email protected]", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "[email protected]", "name": { "givenName": "Admin", "familyName": "Work", "fullName": "Admin Work" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "[email protected]", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true } ], "nextPageToken": "NNNNN" }
检索最近删除的用户
如需检索过去 20 天内从某个账号或该账号的一个网域中删除的所有用户,请使用以下 GET
请求,并包含为请求授权中所述的授权。如需恢复删除的用户,请参阅恢复删除的用户。
如需检索在过去 20 天内从账号的主网域或子网域中删除的用户,请使用以下 GET
请求。domain
查询字符串是域名的主域名。如需了解用户请求和响应属性,请参阅 API 参考文档。为了方便阅读,此示例使用回车断行:
GET https://admin.googleapis.com/admin/directory/v1/users ?domain=primary domain name&pageToken=token for next results page &maxResults=max number of results per page &showDeleted=true
GET
请求从整个账号中检索过去 20 天内被删除的用户。为了方便阅读,此示例使用回车断行:
GET https://admin.googleapis.com/admin/directory/v1/users ?customer=my_customer or customerId&pageToken=token for next results page &maxResults=max number of results per page&showDeleted=true
customer
查询字符串是my_customer
或customerId
值。- 作为账号管理员,请使用字符串
my_customer
来表示您账号的customerId
。 - 作为转销商管理员,请使用转售客户的
customerId
。对于customerId
,请在检索域名中的所有用户操作请求中使用账号的主域名。生成的响应具有customerId
值。
如需了解请求和响应属性,请参阅 API 参考文档。
在此示例中,账号管理员请求获取账号中所有已删除的用户:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
JSON 响应
成功的响应会返回 HTTP 200 状态代码。除了状态代码以外,响应还会返回过去 20 天内被删除的所有账号用户:
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "[email protected]" }, { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "[email protected]" } ], "nextPageToken": "token for next page of deleted users" }
检索用户的照片
该 API 会检索一张照片缩略图,即最新的 Google 个人资料照片。如需检索用户的最新照片,请使用以下 GET
请求,并在其中添加授权请求中所述的授权。userKey
可以是用户的主电子邮件地址、用户 id
,或用户的任何别名电子邮件地址。如需了解请求和响应属性,请参阅 API 参考文档。
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
在此示例中,系统会返回 [email protected] 的最新照片:
GET https://admin.googleapis.com/admin/directory/v1/users/[email protected]/photos/thumbnail
JSON 响应
成功的响应会返回 HTTP 200 状态代码。
{ "kind": "directory#user#photo", "id": "the unique user id", "primaryEmail": "[email protected]", "mimeType": "the photo mime type", "height": "the photo height in pixels", "width": "the photo width in pixels", "photoData": "web safe base64 encoded photo data" }
API 对照片进行的网络安全 base64 编码与 RFC 4648“base64url” 类似。这意味着:
- 斜杠 (/) 字符会替换为下划线 (_) 字符。
- 加号 (+) 字符会被连字符 (-) 字符替换。
- 等号 (=) 字符会被替换为星号 (*)。
- 在填充时,使用英文句点 (.) 字符,而不是 RFC-4648 base网址 定义,后者使用等号 (=) 进行填充。这样做是为了简化网址解析。
- 无论上传的照片大小如何,该 API 都会将其按比例缩小到 96 x 96 像素。
如果您需要使用 JavaScript 创建兼容的链接,Google Closure 库包含根据 Apache 许可发布的 Base64 编码和解码函数。
以非管理员身份检索用户
虽然只有管理员可以修改用户账号,但该网域中的任何用户都可以读取用户个人资料。非管理员用户可以发出 users.get
或 users.list
请求,并将 viewType
参数设为 domain_public
,以检索用户的公开个人资料。范围 https://www.googleapis.com/auth/admin.directory.user.readonly
非常适合此用例。
domain_public
视图允许非管理员用户访问一组标准核心字段。对于自定义字段,您可以在定义架构时选择其应为公开还是私有。
更新用户的照片
如需更新用户的照片,请使用以下 PUT
请求,并在其中添加为请求授权中所述的授权。userKey
可以是用户的主电子邮件地址、用户 id
,或用户别名的任何电子邮件地址。如需了解请求和响应属性,请参阅 API 参考文档。
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
在此示例中,系统会更新 [email protected] 的照片:
PUT https://admin.googleapis.com/admin/directory/v1/users/[email protected]/photos/thumbnail
{
"photoData": "web safe base64 encoded photo data"
}
更新照片时,API 会忽略 height
和 width
。
JSON 响应
成功的响应会返回 HTTP 200 状态代码。
{ "kind": "directory#user#photo", "id": "the unique user id", "primaryEmail": "[email protected]", "mimeType": "the photo mime type", "height": "the photo height in pixels", "width": "the photo width in pixels", "photoData": "web safe base64 encoded photo data" }
删除用户的照片
如需删除用户的照片,请使用以下 DELETE
请求,并在其中添加为请求授权中所述的授权。userKey
可以是用户的主电子邮件地址、用户 id
,或用户别名的任何电子邮件地址。如需了解请求和响应属性,请参阅 API 参考文档。
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
删除后,系统将不会显示用户的照片。在需要显示用户照片的任何位置,系统都会改为显示剪影。
删除用户账号
如需删除用户账号,请使用以下 DELETE
请求,并在其中添加授权请求中所述的授权令牌。userKey
可以是用户的主电子邮件地址、唯一用户 id
,或用户的别名电子邮件地址之一。如需了解请求和响应属性,请参阅 API 参考文档。
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey
在此示例中,系统会删除 [email protected] 用户账号:
DELETE https://admin.googleapis.com/admin/directory/v1/users/[email protected]
成功的响应仅返回 HTTP 200 状态代码。
删除用户前的重要注意事项:
- 被删除的用户将无法再登录。
- 如需详细了解如何删除用户账号,请参阅管理帮助中心。
恢复删除的用户账号
过去 20 天内被删除的用户必须满足特定条件,才能恢复其账号。
如需取消删除用户账号,请使用以下 POST
请求,并在其中添加为请求授权中所述的授权。userKey
是检索过去 20 天内删除的用户操作响应中找到的唯一身份用户 id
。在执行此操作时,userKey
中不能使用用户的主电子邮件地址或用户的别名电子邮件地址之一。如需了解请求和响应属性,请参阅 API 参考文档。
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undelete
在此示例中,用户 [email protected] 已取消删除。系统会恢复此用户之前的所有账号媒体资源:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
成功的响应仅会返回 HTTP 204 状态代码。如需查看未删除的用户的账号,请使用检索用户操作。