Logo
Section 1 / 4

创建通道

学习如何使用 Slack API 调用创建频道并邀请用户加入。

导入

创建通道

学习如何使用 Slack API 调用创建频道并邀请用户加入。

概述

我们可以使用 Slack API 来启动对话并邀请用户加入这些对话。Slack API 是自动化各种任务的有力工具。例如,每当项目管理系统中创建新的团队或小组时,我们就可以自动创建一个新频道。一旦应用程序打开了一个频道,它就可以使用多个端点执行不同的操作,包括更改频道名称和归档频道。

本课程将介绍以下端点:

  1. conversations.create:此端点用于启动基于公共或私有频道的对话。
  2. conversations.invite:此端点用于邀请用户加入频道。

创建新频道

要创建一个新频道,我们需要访问 https://slack.com/api/conversations.create 端点。除了 token 外,还需要提供一个 name 参数来指定频道名称。

注意:请确保频道名称全部为小写字母且不包含空格。可以使用连字符(-)代替空格。

conversations.create 端点的一些重要查询参数如下:

参数类型必需性描述
tokentoken必需认证令牌携带了控制不同 Slack 应用程序和 API 使用权限的所需作用域。通常通过 HTTP Authorization 头部或 POST 参数传递。
namestring必需要创建的频道名称。
is_privatebool可选设置为 true 时表示创建私有频道。

让我们调用 conversations.create 端点。点击“运行”按钮,在工作区中创建一个名为 temp_channel 的新频道。

1import requests 2import json 3 4url = "https://slack.com/api/conversations.create" 5data = {'name':'temp_channel'} 6headers = { 7 'Authorization': 'Bearer {{Token}}', 8 'Content-Type': 'application/x-www-form-urlencoded', 9} 10 11response = requests.get(url, headers=headers, params=data) 12print(json.dumps(response.json(), indent=4))
  • 第 5 行:我们向应用提供名称 temp_channel,使其成为一个频道。我们将使用从上一步提取的频道 ID,在下一个代码模块中邀请自己加入该应用创建的频道。

将用户邀请到频道

要将用户邀请到频道,我们需要访问 https://slack.com/api/conversations.invite 端点。需要指定 users(一个或多个用户)以及频道 ID。

conversations.invite 端点的一些重要查询参数如下:

参数类型必需性描述
tokentoken必需认证令牌携带了控制不同 Slack 应用程序和 API 使用权限的所需作用域。通常通过 HTTP Authorization 头部或 POST 参数传递。
channelstring必需指定消息将发布的频道。可以是公开频道、私有群组或 IM 频道(直接消息)。该参数的值可以是编码后的 ID 或频道名称。
usersstring必需用户 ID 列表。

运行下面的代码模块,将自己添加到新创建的频道中。

...
运行下方代码模块后在 Slack 应用中的预期输出

让我们调用 conversations.invite 端点。点击“运行”按钮,将自己添加到上一个代码模块中应用创建的频道。

1import requests 2import json 3 4url = "https://slack.com/api/conversations.invite" 5data = { 6 'channel':'{{CHANNEL_ID_APP}}', 7 'users':'{{user_id}}' 8} 9headers = { 10 'Authorization': 'Bearer {{Token}}', 11 'Content-Type': 'application/x-www-form-urlencoded', 12} 13 14response = requests.get(url, headers=headers, params=data) 15print(json.dumps(response.json(), indent=4))
  • 第 4 行:我们指定 conversations.invite 端点。
  • 第 5–8 行:我们将 channel 设置为上一个代码模块中提取的频道 ID,同时将 users 参数设为我们的用户 ID。

使用应用程序进行聊天

设置对话属性