【问题标题】:What is the simplest way to find a slack team ID and a channel ID?查找 Slack 团队 ID 和频道 ID 的最简单方法是什么?
【发布时间】:2017-04-17 20:14:36
【问题描述】:

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

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

文档指出,要打开特定团队,应使用以下 URL:

slack://open?team={TEAM_ID}

打开 Slack 并将团队切换到指定的团队。提供的 TEAM_ID 应该是一个字符串,例如 T12345。

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

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

打开 id 字段中提供的 CHANNEL_ID 指定的频道, 像 C024BE91L。您还必须使用 TEAM_ID 指定团队。

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

【问题讨论】:

标签: html slack-api slack


【解决方案1】:

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

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

/sdt whoami

它会输出一个像这样的sn-p。

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

【讨论】:

  • 这张票怎么这么少?感谢一百万@realappie。
  • 我试过了,但到 2021 年链接似乎已失效:(
  • @J.Gwinner 遗憾的是旧链接不再起作用,我只是将其更正为 slack 应用程序的新链接。可以在sdt.builtbyslack.com 找到
【解决方案2】:

如果您来到这里寻找如何使用 @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)
})

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 只需在此答案链接中添加一点内容,将如下所示 https://netmediagroup.slack.com/archives/CHANNELID。这对我来说是最简单的,我不想安装应用程序。谢谢
    【解决方案4】:

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

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

    【讨论】:

    • 这是 2019 年唯一对我有用的方法。
    • 注意:您并不真的需要启动网络用户界面——只需复制链接到任何在您选择的客户端应用程序中感兴趣的公共频道中的消息 - 并检查生成的 URL
    • @AntonK 嗯我不知道该怎么做。我在我的松弛 Windows 应用程序(v4.2.0)中尝试过。我复制了一个链接,指向我们的一个公共频道中的一条消息,URL 如下所示:https://team.slack.com/archives/C########/p################。我可能可以获取频道 ID,但不能获取团队 ID。
    【解决方案5】:

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

    1。任何频道 ID

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


    2。任何用户 ID

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

    或者在 slack 中:(1) 单击用户名并选择 (2) “显示个人资料”。然后打开“...”菜单,您会看到选项 (3)“复制会员 ID ...” - 要通过 UI 获取您自己的用户 ID,您必须单击顶部的团队徽标- 左上角,然后选择“个人资料和帐户”(这不包括在屏幕截图中)


    3。团队 ID

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

    【讨论】:

    • 感谢@Paulin'tHout - 不知何故,我将团队 ID 与用户 ID 混淆了......我更新了答案,还描述了如何快速获取团队 ID
    • 对于查找频道 ID 和团队 ID,根据原始问题,这绝对是最快和最简单的,应该是公认的答案。
    • 看起来 url 格式可能已更改为 app.slack.com/client/<team_id>/<channel_id>/details/…
    • 嘿@Philipp,虽然这有效!松弛的开发人员工具使这变得容易得多。我建议检查我的答案here 并考虑将其包含在您的答案中,提前谢谢?
    【解决方案6】:

    您也可以在桌面应用程序中简单地右键单击闲置频道(或直接消息),然后选择“复制链接”选项。

    这将为您提供以下形式的 URL:https://org.slack.com/messages/[channel-ID]

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

    【讨论】:

    • 这是迄今为止最好和最简单的答案。谢谢
    【解决方案7】:

    与现有答案略有不同。

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

    https://my.slack.com/messages

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

    频道也是如此。如果您检查侧边栏中的任何通道,您可以看到它们按&lt;li&gt; 列表元素排序,每个元素都在类名中包含通道 ID。

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

    基本上,这一切都隐藏在视线之外。你只需要知道去哪里看;)

    【讨论】:

    • 谢谢!这是迄今为止我见过的最简单的方法!
    • team_domain 信息丢失 :( 他们可能已将其删除?
    • 非常聪明的解决方案。不过我没看到。导航到 https://my.slack.com/messages 然后 Developer > Source(在 Chrome 中)。搜索仅显示此块:// called by ssb when online var proceedToApp = function(last_team_domain_arg) { // do nothing, we're already in the app }
    • 即使在@WilhelmKlopp 回复之后,我也很难找到团队 ID。对我来说最简单的方法是:1. 在页面源代码上搜索 api_token 并复制该代码 2. 在浏览器中打开它:https://slack.com/api/auth.test?pretty=1&amp;token=&lt;token-from-prev-step-here&gt; 3. 在响应副本上 team_id
    • 我发现team_id 在页面源中搜索它。它位于一个名为 boot_data 的对象中。
    【解决方案8】:

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

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

    通过网络浏览器访问您的闲置房间。 右键>“查看源代码”

    然后搜索 Team_id:

    【讨论】:

      【解决方案9】:

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

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

      2. 向下滚动到“立即尝试!”按钮。你登陆auth.testhttps://api.slack.com/methods/auth.test/test

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

      4. channels.list 执行相同的操作。您可以点击“查看其他方法”并搜索或前往:https://api.slack.com/methods/channels.list/test

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

      【讨论】:

      • 谢谢,对我来说,这是最简单的方法。
      【解决方案10】:

      团队 ID

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

      频道 ID

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

      请注意,您只能看到属于您的访问令牌的用户/机器人已被邀请进入的私人频道。

      访问令牌

      要获取访问令牌,您可以在 Slack API 页面的“测试令牌”下请求“测试令牌”(仅推荐用于 Slack 的测试目的)。或者,您可以创建一个 Slack 应用程序并使用 Oath 为您的 Slack 团队安装该应用程序,这还将生成一个特定于应用程序的访问令牌。

      【讨论】:

      • 遗憾的是,Slack 不提供按名称查找通道的方法。他们的常见问题解答只是建议遍历整个频道列表以找到您想要的频道:请参阅“如果我只有频道的#name,我如何找到频道的 ID?”api.slack.com/faq
      • @CamdenS.:您现在可以使用新添加的交互式菜单功能。查看我对应的答案:Channel auto-complete
      猜你喜欢
      • 1970-01-01
      • 2017-01-15
      • 2013-01-26
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 2022-01-21
      • 2012-07-10
      • 1970-01-01
      相关资源
      最近更新 更多