我正在构建一个 Slack 机器人(python/slack-bolt)。 尝试在应用程序主页选项卡中共享私人图像。
主页选项卡是使用 client.views_publish 生成的。
{
"type": "image",
"title": {
"type": "plain_text",
"text": "test image",
},
"image_url": "https://files.slack.com/files-pri/<private_ref>/test.jpg",
"alt_text": "test"
},
现在 image_url 无效,因为这是私有文件。 但可以通过带有标头的请求来访问该文件: 例如这将正确下载文件:
curl https://files.slack.com/files-pri/<private_ref>/test.jpg --header "Authorization: Bearer <bot_token>" --output test.jpg
如何为 slack 块构建图像的 url,以便机器人主页可以使用私有图像?
您可能必须公开共享该文件。
这可以使用以下 API 来完成:
https://api.slack.com/methods/files.sharedPublicURL
自 2024 年 4 月起,现在可以在应用程序主页选项卡上显示私人图像而不将其公开。只需提供 slack 文件 ID 即可。
{
"type": "image",
"title": {
"type": "plain_text",
"text": "test image",
},
"slack_file": {
"id": "F1234ABC"
},
"alt_text": "test"
}
本页更多信息: https://slack.com/blog/developers/uploading-private-images-blockkit