小编典典

如何使用上载图像的permalink_public URL将其包含在消息中?

python

我正在尝试将图片上传到备用帐户,然后将其在备用邮件的图像块中发布到特定频道。

  1. 将图片上传到Slack。
  2. 公开图像 files.sharedPublicURL
  3. 检查网址是公开的:public_url_sharedtrue
  4. permalink_public我收到的用于上传的图像用于创建松弛消息(图像块)。

为了调试,我使用了Slack的Block Kit
Builde。我用从Slack收到的URL替换了块工具包演示image_url示例中的URL

https://slack-files.com/T04AG7BVD-FLWHBHY86-1ba8263c00

要么:

https://slack-files.com/T04AG7BVD-FLNJJURL1-7b17f26c80

该图像应显示。相反,在Slack的Block Kit Builder中有错误以及直接的slack-api调用:Downloading image failed.

如果我permalink_public在隐身会话中打开。我可以看到文件。所以它是公开的。


阅读 214

收藏
2020-12-20

共1个答案

小编典典

链接permalink_public在您的布局块中不起作用的原因是,它链接到显示图像的公共网站,而不是图像文件的直接链接(当然,这是您需要的)。

但是您可以从链接到网站构建直接的图像链接。

您从中获得的网站链接permalink_public的格式为:

https://slack-files.com/{team_id}-{file_id}-{pub_secret}

指向图像的直接链接的格式为:

https://files.slack.com/files-pri/{team_id}-{file_id}/{filename}?pub_secret={pub_secret}

所以,你只需要提取pub_secretpermalink_public,你应该能够构建直接链接到图像。您可以从文件对象获取其他参数。

图片示例:

https://files.slack.com/files-pri/T04AG7BVD-FLWHBHY86/no_image_found.png?pub_secret=1ba8263c00

请注意,这似乎并没有记录在案的方法,因此所有未记录在案的方法都会改变其主题。

2020-12-20