Используйте изображение files.upload в качестве изображения в блоке слабых сообщений - PullRequest
1 голос
/ 26 февраля 2020

Я хочу использовать локальный файл (изображение) в блоке. Насколько я знаю, нет никакого способа напрямую использовать локальное изображение в блоке сообщений, поэтому я решил попробовать использовать файл files.upload, чтобы сначала загрузить изображение в slack, а затем использовать ссылку на это изображение в block.

  1. Загрузить изображение с помощью files.upload
  2. Получить ссылку для этого изображения
  3. Опубликовать блок сообщения со ссылкой на изображение.

Проблема не в том, что я делаю, я не могу получить действительную ссылку, которую затем могу использовать в блоке сообщений. (Все, что я получаю, это «ошибка загрузки изображения»).

Я не хочу, чтобы изображение было общедоступным. Я хочу, чтобы он был доступен только слабым пользователям, вошедшим в наше свободное рабочее пространство. Поэтому мне нужна ссылка, которую может использовать мой slackbot, но не ссылка publi c.

Есть ли способ сделать это?

Я уже проверил этот связанный вопрос и следовал инструкциям там, чтобы попытаться получить ссылку, пригодную для моего бота, но я не смог заставить ее работать.

Большое спасибо за любую помощь.

Заблокируйте я пытаюсь отправить: (сейчас я не создаю динамически ссылку, просто пытаюсь сделать это вручную, пока не получу работающую ссылку)

webclient.chat_postMessage(
channel=channel_id,
blocks=[
    {
        "type": "section",
        "text": {
            "type": "mrkdwn",
            "text": "TEST TEST TEST"
        },
        "accessory": {
            "type": "image",
            "image_url": "https://slack-files.com/files-pri/T024G****-FU85H****/file?pub_secret=e54507****",
            "alt_text": "User's picture"
        }
    }
]

Files.upload ответ:

{'text': '', 'files': [{'id': 'FU85H****', 'created': 158279****, 'timestamp': 158279****, 'name': 'file', 'title': "User's image:", 'mimetype': 'image/png', 'filetype': 'png', 'pretty_type': 'PNG', 'user': 'UPTM1****', 'editable': False, 'size': 114035, 'mode': 'hosted', 'is_external': False, 'external_type': '', 'is_public': False, 'public_url_shared': False, 'display_as_bot': False, 'username': '', 'url_private': 'https://files.slack.com/files-pri/T024G****-FU85H****/file', 'url_private_download': 'https://files.slack.com/files-pri/T024G****-FU85H****/download/file', 'thumb_64': 'https://files.slack.com/files-tmb/T024G****-FU85H****-9513e3****/file_64.png', 'thumb_80': 'https://files.slack.com/files-tmb/T024G****-FU85H****-9513e3****/file_80.png', 'thumb_360': 'https://files.slack.com/files-tmb/T024G****-FU85H****-9513e3****/file_360.png', 'thumb_360_w': 291, 'thumb_360_h': 256, 'thumb_160': 'https://files.slack.com/files-tmb/T024G****-FU85H****-9513e3****/file_160.png', 'image_exif_rotation': 1, 'original_w': 291, 'original_h': 256, 'thumb_tiny': 'AwAqADBYCFJ3EgEY4qx5kRB+8OAOnpSC3T1NKYEA6mgBGnhQ7mYjknp60xZYHA2OSVHHHSq5RWnfdyFOBmlkiVcFTgjnilcdie4lWQDGeKr7gDVw2yHuaYbRPVqegiXdQW4qIvUEl0icZyfQUAOYDc2R3zSoodgOvaoomaXLnjngelSOXjQupwRzUlrYvGmmq****/DHY3v0qbNUQZ11KVUKDyetVKmuv9b+FQUAWrST5yD3qS8k+UKD15qrF98fUf****/1x+goHfQhJycmrlnOeIzz6V****/160CP/9k=', 'permalink': 'https://gaia.slack.com/files/UPTM1****/FU85H****/file', 'permalink_public': 'https://slack-files.com/T024G****-FU85H****-e54507****', 'is_starred': False, 'has_rich_preview': False}], 'upload': True, 'user': 'UPTM1****', 'display_as_bot': False, 'team': 'T024G****', 'source_team': 'T024G****', 'user_team': 'T024G****', 'channel': 'DUFV5****', 'event_ts': '158279****.002500', 'ts': '158279****.002500'}

1 Ответ

1 голос
/ 27 февраля 2020

ОП хочет создать блок сообщений с частным URL-адресом изображения. Это невозможно.

URL-адреса изображений в блоках сообщений (и вложениях) необходимо публиковать c.

Альтернативой является прямой обмен загруженным файлом изображения в канале и включение сообщение.

Подробности о том, как включить изображения в сообщение, описаны в этом ответе .

...