首页 > 解决方案 > Slack 开发者政策中提到的“未发布的 API”的定义是什么?

问题描述

根据Slack App Developer Policy,在安全性下,开发人员被禁止,除其他外:

使用未发布的 API

这到底是什么意思?

作为一名 Web 开发人员,我通常使用 AWS API Gateway 来部署我的 API。根据AWS 文档

部署 API 后,您可以通过部署开发人员门户发布它们,并且可以通过 AWS Marketplace 将 API 作为 SaaS 销售。

我对通过 AWS Marketplace 销售 API 访问权限并不特别感兴趣,但听起来这是在 Slack 上发布的要求。

此外,在同一部分中,我被告知我的客户可以轻松地:

  • 发现哪些 API 可用。
  • 浏览您的 API 文档。
  • 注册并立即接收他们自己的可用于构建应用程序的 API 密钥。
  • 在开发人员门户 UI 中试用您的 API。
  • 监控他们自己的 API 使用情况。

所有这些都需要与我的 Slack 应用程序集成吗?

我的工作流程通常包括将React应用程序设置为前端,并在后端连接到自定义构建的 API,使用如下代码:

componentDidMount() {
    fetch("https://api.example.com/items")
      .then(res => res.json())
      .then(
        (result) => {
          this.setState({
            isLoaded: true,
            items: result.items
          });
        },
        // Note: it's important to handle errors here
        // instead of a catch() block so that we don't swallow
        // exceptions from actual bugs in components.
        (error) => {
          this.setState({
            isLoaded: true,
            error
          });
        }
      )
  }

其中“ https://api.example.com ”将是我创建的 api。这是错误的方法吗?或者,如上所述,我是否有义务通过上述步骤公开此 api?

我的理解是这是一个安全问题,目标是敏感数据不会存储在某个不安全的地方。我不明白发布 api 如何解决这个问题。此外,我认为“公共”和“私人”,“已发布”和“未发布”之间存在差异,尽管我不了解细节。

帮助将不胜感激!我不想因缺乏研究而无意中违反了政策条款。

标签: amazon-web-servicesapi-designslack-api

解决方案


推荐阅读