本指南介绍了如何使用 Google Chat API 的 Space
资源的 create
方法来创建命名聊天室。
Space
资源代表用户和 Chat 应用可以发送消息、共享文件和协作的位置。聊天室分为以下几种类型:
- 私信 (DM) 是指两位用户或一位用户与 Chat 应用之间的对话。
- 群聊是三位或更多用户与 Chat 应用之间的对话。
- 已命名的聊天室是用户发送消息、共享文件和开展协作的持久位置。
命名空间是人们发送消息、共享文件和协作的地方。命名的聊天室可包含 Chat 扩展应用。已命名聊天室包含未命名群组对话和私信所不具备的额外功能,例如可以应用管理设置的聊天室管理员、说明以及添加或移除人员和应用。创建命名空间后,该空间的唯一成员是经过身份验证的用户。该聊天室不包括其他人或应用,甚至包括创建该聊天室的 Chat 应用。如需添加人员,请对 Member
资源调用 create
方法,在聊天室中创建成员资格。要了解如何操作,请参阅创建会员资格。
如需创建包含多个成员的已命名聊天室(三人或更多人之间的未命名群聊、两人之间的私信对话,或一个人和调用 Chat API 的 Chat 应用),请改为设置聊天室。
前提条件
Python
- Python 3.6 或更高版本
- pip 软件包管理工具
适用于 Python 的最新 Google 客户端库。如需安装或更新这些应用,请在命令行界面中运行以下命令:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- 一个已启用并配置了 Google Chat API 的 Google Cloud 项目。如需了解相关步骤,请参阅构建 Google Chat 应用。
为 Chat 应用配置的授权。创建聊天室需要进行
chat.spaces.create
或chat.spaces
授权范围的用户身份验证。
Node.js
- Node.js 和 npm
最新的 Node.js 版 Google 客户端库。如需安装这些组件,请在命令行界面中运行以下命令:
npm install @google-cloud/local-auth @googleapis/chat
- 一个已启用并配置了 Google Chat API 的 Google Cloud 项目。如需了解相关步骤,请参阅构建 Google Chat 应用。
为 Chat 应用配置的授权。创建聊天室需要进行
chat.spaces.create
或chat.spaces
授权范围的用户身份验证。
创建已命名的聊天室
如需创建命名空间,请在请求中传递以下内容:
- 指定
chat.spaces.create
或chat.spaces
授权范围。 - 对
Space
资源调用create
方法。 - 将
spaceType
设置为SPACE
。 - 将
displayName
设置为空间的用户可见名称。在以下示例中,displayName
设置为API-made
。 - (可选)设置其他空间属性,例如
spaceDetails
(用户可见的聊天室说明和一组准则)。
创建命名聊天室的方法如下:
Python
- 在您的工作目录中,创建一个名为
chat_space_create_named.py
的文件。 在
chat_space_create_named.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.spaces.create"] def main(): ''' Authenticates with Chat API via user credentials, then creates a Chat space. ''' # 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().create( # Details about the space to create. body = { # To create a named space, set spaceType to SPACE. 'spaceType': 'SPACE', # The user-visible name of the space. 'displayName': 'API-made' } ).execute() # Prints details about the created space. print(result) if __name__ == '__main__': main()
在您的工作目录中,构建并运行该示例:
python3 chat_space_create_named.py
Node.js
- 在您的工作目录中,创建一个名为
create-space.js
的文件。 在
create-space.js
中添加以下代码:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Creates a new chat space. * @return {!Promise<!Object>} */ async function createSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.create', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.create( {requestBody: {spaceType: 'SPACE', displayName: 'API-made'}}); } createSpace().then(console.log);
在您的工作目录中,运行该示例:
node create-space.js
系统会创建一个命名的聊天室。如需导航到聊天室,请使用聊天室的资源 ID 构建聊天室的网址。您可以在 Google Chat 响应正文中的聊天室 name
中找到资源 ID。例如,如果聊天室的 name
为 spaces/1234567
,您可以使用以下网址前往聊天室:https://mail.google.com/chat/u/0/#chat/space/1234567
。
相关主题
- 通过创建成员,在聊天室中添加人员和应用。
- 通过创建消息在聊天室中发布消息。
- 获取聊天室的详细信息。
- 列出聊天室。
- 更新聊天室。
- 删除聊天室。
- 设置聊天室。
- 查找私信聊天室。
- 将聊天室设为可供特定用户搜索。