本指南介绍了如何对 membership
资源使用 delete
方法
使用 Google Chat API 将成员从聊天室中移除,这也称为删除
会员资格。如果聊天室管理员是唯一的聊天室管理员,则无法移除他们
请先将其他用户分配为聊天室管理员,然后再移除这些用户
会员。
通过
Membership
资源
表示是否会邀请真人用户或 Google Chat 应用;
聊天室中的部分内容,或聊天室中缺失的内容。
前提条件
Python
- Business 或 Enterprise 有权访问以下内容的 Google Workspace 账号: Google Chat。
- 设置您的环境:
- 创建 Google Cloud 项目。
- 配置 OAuth 同意屏幕。
- 启用并配置 Google Chat API,指定一个名称, 图标和说明。
- 安装 Python Google API 客户端库。
-
为桌面应用创建 OAuth 客户端 ID 凭据。为了运行此示例中的示例,
指南中,将凭据保存为
client_secrets.json
的 JSON 文件, 本地目录中。
- 选择支持用户身份验证的授权范围。
从聊天室中移除成员
如需从群组中移除用户、Google 群组或 Chat 应用,请执行以下操作: 空格:
- 如需移除用户或 Google 群组,请指定
chat.memberships
授权 范围。如要移除 Chat 扩展应用,请指定chat.memberships.app
授权范围(应用只能删除自己的授权范围) membership;而不是其他应用的情况)。最佳做法是选择 限制作用域,使应用仍能正常运行。 - 调用
delete
方法 在membership
资源。 - 传递要删除的成员资格的
name
。如果成员资格属于 仅聊天室管理员,请先将其他用户分配为聊天室管理员 删除此成员资格。
要删除会员资格,请按以下步骤操作:
Python
- 在您的工作目录中,创建一个名为
chat_membership_delete.py
的文件。 在
chat_membership_delete.py
中添加以下代码:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.memberships.app"] def main(): ''' Authenticates with Chat API via user credentials, then deletes the specified membership. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().members().delete( # The membership to delete. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBER with a membership name. # Obtain the membership name from the memberships resource of # Chat API. To delete a Chat app's membership, replace MEMBER # with app; an alias for the app calling the API. name='spaces/SPACE/members/MEMBER' ).execute() # Print Chat API's response in your command line interface. # When deleting a membership, the response body is empty. print(result) if __name__ == '__main__': main()
在代码中进行以下替换:
SPACE
:聊天室名称,您可以从中获取spaces.list
方法 或通过聊天室网址发送。MEMBER
:您可以获取的会员名称 (通过spaces.members.list
方法) 。要删除应用的成员资格,请将app
会员价为MEMBER
。
在您的工作目录中,构建并运行该示例:
python3 chat_membership_delete.py
如果成功,响应正文将返回具有
'state': 'NOT_A_MEMBER'
:表示该成员已不在聊天室中。
{ "name": "spaces/SPACE/members/MEMBER", "state": "NOT_A_MEMBER" }