查找 slack 团队 ID 和频道 ID 的最简单方法是什么?

What is the simplest way to find a slack team ID and a channel ID?

我们正在尝试设置到 slack 的深度链接,如下所述:

https://api.slack.com/docs/deep-linking

文档说要打开一个特定的团队,应该使用下面的URL:

slack://open?team={TEAM_ID}

Open Slack and switch teams to the specified team. The provided TEAM_ID should be a string, like T12345.

此外,要在团队中打开频道,应使用以下URL:

slack://channel?team={TEAM_ID}&id={CHANNEL_ID}

Open the channel specified by the CHANNEL_ID provided in the id field, like C024BE91L. You must also specify the team with a TEAM_ID.

我的问题很简单。我在哪里可以找到我需要什么 TEAM_ID 和我需要什么 CHANNEL_ID?

团队 ID

获取团队 ID 的最简单方法是使用 Slack API 方法 auth.test 和您的访问令牌。

频道 ID

取决于您想要 public 还是私人频道,您可以调用相应的 Slack API 方法来获取所有频道的列表,包括。他们的 ID。

请注意,您只能看到属于您的访问令牌的 user/bot 受邀加入的私人频道。

访问令牌

要获得访问令牌,您可以在 "Test Token" 下的 Slack API 页面上请求 "test token"(Slack 仅推荐用于测试目的)。或者您可以创建一个 Slack 应用程序并使用 Oath 为您的 Slack 团队安装该应用程序,这也会生成一个特定于应用程序的访问令牌。

与现有答案略有不同。

每当我想快速找出特定团队的相关 ID 时,我只是打开 Slack 网络客户端并检查相关元素。 (使用 Chrome 开发工具)

https://my.slack.com/messages

链接到用户的 <a> 标签往往包含一个 data-member-id 属性,其内容是用户 ID。

渠道也是如此。如果您检查侧边栏中的任何频道,您可以看到它们被排序为 <li> 列表元素,每个列表元素都包含 class 名称中的频道 ID。

对于团队 ID,您可以为您的 team_domain 打开 slack web 客户端和 CTRL-F 的整个源代码(例如 myslack55myslack55.slack.com),应该可以找到你是队号。

基本上,它都隐藏在众目睽睽之下。你只需要知道去哪里找 ;)

此处标记为正确的答案对我不起作用,但我可能找到了一种使用测试令牌的更简单的方法。

  1. 创建测试令牌:https://api.slack.com/docs/oauth-test-tokens

  2. 向下滚动到 "try it now!" 按钮。您登陆 auth.testhttps://api.slack.com/methods/auth.test/test

  3. 选择您要测试的团队并点击测试方法。您可以在那里找到您的 team_id(和 user_id)。

  4. channels.list 执行相同的操作。您可以单击 "View Another Method" 并搜索或转到:https://api.slack.com/methods/channels.list/test

  5. 再次选择团队和测试方法Cmd+F 通过 channels 对象寻找任何你需要的 channel_ids。

这是手动查找 slack ID 的最简单方法

1。任何频道 ID

打开 slack 网页 (http://yourteam.slack.com) 然后直接打开频道。 频道ID在浏览器中显示URL:


2。任何用户 ID

要查找 用户 ID,您需要打开浏览器开发工具控制台并检查边栏中的用户 -link。可以在 HTML 属性中找到用户 ID "data-member-id":

或在 slack 中:(1) 单击用户名并选择 (2) "Show Profile"。然后打开“...”菜单,你会看到选项 (3) "Copy Member-ID ..." - to get your own user ID via the UI, you have to click the Team-Logo在左上角,然后选择 "Profile & Account"(这不包括在屏幕截图中)


3。团队编号

只需打开浏览器的开发工具,切换到 "Console" 选项卡并在控制台中输入文本 boot_data.team_id。这将显示您的团队 ID:

截至 2017 年,slack 似乎更容易找到它。

这是手动查找团队 ID 的最简单方法。

通过网络浏览器访问您的休闲室。 右击 > "View Source"

并搜索 Team_id:

您也可以简单地在桌面应用程序中右键单击松弛频道(或直接消息),然后 select 'Copy Link' 选项。

这会给你一个 URL 的形式:https://org.slack.com/messages/[channel-ID]

我证明这适用于 High Sierra Mac OSX - Slack 3.1.1

截至 2019 年 7 月,团队 ID 和频道 ID 似乎已通过网络显示。

如您在屏幕截图中所见,倒数第二个节点是 团队 ID(前缀为 "T"),最后一个节点是 频道编号(前缀为"C")。你所要做的就是通过网络打开 slack,进入特定的频道,你可以看到 url 变成接近上面截图的东西。

获取团队和频道 ID 的最简单方法是将 slack 开发人员工具应用程序添加到您的 slack,您可以做到 here

添加后,您只需转到任何频道并选择此命令

/sdt whoami

它会输出这样的片段。

您可以使用此 slack 应用程序执行更多命令和其他操作,如果您要为 slack 构建任何集成,我强烈推荐它。

如果您使用的是 Slack 应用程序,只需右键单击左侧菜单中的频道名称,然后单击 Copy link,将其粘贴到某处,您将看到频道 ID。

如果您来这里是为了寻找如何使用 @slack/bolt 包通过 API 为特定用户(比如我!)访问这些值 - 下面是一个如何操作的示例它。

团队 ID & 频道 ID & 用户 ID

app.message('hello'),
  async ({ say, body, context, message }) => {
  const teamResponse: any = await app.client.team.info({
    token: context.botToken,
    user: message.id,
  });

  // An object containing the team data that Slack has stored
  const team: SlackGeneratedTeam = teamResponse.team;

  // User ID
  console.log(message.id)

  // Team ID
  console.log(team.id)

  // channel ID
  console.log(message.channel)
})