如何在传入 Webhook 中包含私有 Slack 文件?

问题描述 投票:0回答:1

我正在尝试使用传入 Webhook 通过私有 Slack 文件发布消息。

采取的步骤:

  1. 设置 Slack App Incoming Webhook,包括其权限和通道集成。
  2. 使用此处提到的步骤上传文件。
  3. 使用 Postman 触发 Webhook。
  4. 获得 invalid_blocks,并带有 HTTP 错误 400 代码。

请求正文:

{
  "text": "Danny Torrence left a 1 star review for your property.",
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Danny Torrence left the following review for your property:"
      }
    },
    {
      "type": "section",
      "block_id": "section567",
      "text": {
        "type": "mrkdwn",
        "text": "<https://example.com|Overlook Hotel> \n :star: \n Doors had too many axe holes, guest in room 237 was far too rowdy, whole place felt stuck in the 1920s."
      },
      "accessory": {
        "type": "image",
        "image_url": "https://is5-ssl.mzstatic.com/image/thumb/Purple3/v4/d3/72/5c/d3725c8f-c642-5d69-1904-aa36e4297885/source/256x256bb.jpg",
        "alt_text": "Haunted hotel image"
      }
    },
    {
      "type": "section",
      "block_id": "section789",
      "fields": [
        {
          "type": "mrkdwn",
          "text": "*Average Rating*\n1.0"
        }
      ]
    },
    {
      "type": "image",
      "title": {
        "type": "plain_text",
        "text": "Please enjoy this photo of a kitten"
      },
      "block_id": "image4",
      "slack_file": {
        "url": "https://files.slack.com/files-pri/00000000000-00000000000/testphoto.jpg"
      },
      "alt_text": "An incredibly cute kitten."
    }
  ]
}

我没有尝试过的一件事是使用

sharedPublicURL
API,但我期望的是不要公开共享文件。

我在 Slack 上找到了一篇与我的期望相关的文章: https://slack.com/blog/developers/uploading-private-images-blockkit

所以,我的问题是:

  1. 是否可以在传入 Webhook 中包含私有 Slack 文件?
  2. 如果是,您能指导我上面错过的步骤吗?

Slack 应用程序集成相当新,如果您需要更多信息,请告诉我。谢谢。

这是我尝试过的:

  • 使用这两个选项,在此处提供 url 或 id。
  • 使用 Block Kit Builder 验证请求正文,结果显示正常(尝试将其发送到 slack,效果也很好)。
  • 尝试删除除图像部分之外的所有请求正文,它仍然显示 invalid_blocks 错误。
  • 尝试使用 image_url 和互联网上的随机图像,它有效。
  • 尝试上传文件,发送到频道和不发送,但仍然失败。
  • 尝试授予机器人和用户令牌的所有权限,但仍然失败。
  • 尝试重新集成并将机器人重新添加到频道,但仍然失败。
  • 确认发送文件和消息(来自 Webhook)的机器人是相同的。
webhooks slack-api slack-block-kit
1个回答
0
投票

经过几天的研究和测试,似乎传入的 Webhooks 应用程序(机器人)没有权限访问我的机器人上传的文件(我在上传文件和触发 Webhook 时使用相同的机器人)。我什至尝试通过将文件共享到机器人来将文件上传到机器人本身

Channel ID
,但仍然失败。

我决定使用

chat.postMessage
API here 寻找替代方案,现在效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.