【问题标题】:generate SLACK_APP_TOKEN for slack application为 slack 应用程序生成 SLACK_APP_TOKEN
【发布时间】:2016-12-06 13:43:06
【问题描述】:

假设我已经创建了 slack 应用程序并且我有客户端 ID 和密码。 让我手中的 SLACK_APP_TOKEN 能够创建频道的最简单方法是什么?

【问题讨论】:

    标签: slack-api slack


    【解决方案1】:

    如果您想要一个与您的 Slack 应用程序相关的正确访问令牌,那么获取它的唯一方法是使用 OAuth 流程安装您的 Slack 应用程序,如 Slack 文档中的here 所述。您将需要一个带有脚本(例如 PHP)的迷你网站来执行安装。

    所谓的test token 也将允许您使用 Slack API(例如创建频道),前提是创建测试令牌的用户在您的 Slack 上拥有该权限。它是最容易获得的,但它总是链接到用户帐户,而不是 Slack 应用程序。而且您不能为其请求特定范围。因此,对于大多数应用程序来说,最好使用 Slack 应用程序并通过安装它来获取正确的访问令牌。

    如果您正在寻找安装程序脚本的示例,here 是 PHP 中的完整脚本。它将在任何支持 PHP 的网络服务器上运行。它非常基本,但它可以正常工作。

    【讨论】:

    • 谢谢 Erik,还有一个问题:假设我将我的应用程序发布到应用程序目录,想要使用我的应用程序的用户应该如何使用这个令牌?他是否意识到这一点,或者一旦应用程序加载到目录中,这个令牌可能是硬编码的?
    • 好问题。每次用户将您的 Slack 应用程序安装到他的 Slack 团队中时,都会生成一个单独的访问令牌。您希望将此令牌存储在数据库中,以便您的 Slack 应用可以访问每个 Slack 团队的正确令牌。
    • 据我了解,该过程是:在某个 Web 服务器中运行脚本(假设为 localhost)-> 此脚本确实需要 slack oauth "slack.com/api/oauth.access" 调用客户端 id、机密和范围- > 脚本获取响应代码 -> 脚本执行额外的休息调用发送此代码并获取令牌。该脚本应将此令牌保存在与特定团队关联的数据库中。那么当在 slack 应用程序中配置的 redirect_uri 被调用时?为什么我们需要它?它应该等于运行脚本的 Web 服务器(在我们的示例 localhost 上)吗?
    • 是的,redirect_uri 必须指向安装程序脚本的位置,否则它将不起作用。它是一种安全措施。另请注意,网络服务器需要可从 Internet 访问(例如通过 Slack),因此如果您在路由器/防火墙后面的本地 PC 上运行它,它将无法工作。
    • 感谢 Erik 的回答,你有深刻的理解。我已经创建并安装了应用程序,但我创建的频道是在我的用户下创建的,而不是由 slack 用户创建的。我已经发布了单独的问题stackoverflow.com/questions/41115905/…感谢您的回答
    猜你喜欢
    • 2017-04-28
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 2020-06-06
    • 2017-12-21
    • 2015-09-22
    相关资源
    最近更新 更多