Использование изображений, загруженных в Slack во вложениях сообщений - PullRequest
0 голосов
/ 11 декабря 2018

Я хотел бы загрузить файл, используя slack.files.upload (node ​​api), не публикуя его непосредственно на канал.

Вместо этого я хотел бы сослаться на файл внутри сообщения как вложение (image_url),

Однако при загрузке без канала полученное значение url_private будет недействительным.

При публикации на канале url_private действителен, но изображение автоматически отображается в чате (я этого не хочу).

 await slack.files.upload({
        filename,
        file: buffer,
        channels: "sem-test"
    })

Работает.

await slack.files.upload({
            filename,
            file: buffer
          })

не выдает ошибку, но полученный url_private указывает на неверный файл.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Вы можете использовать изображения, загруженные в Slack, как вложения, не разделяя их в канале.

Это работает, если вы делаете эти файлы общедоступными, поскольку ссылки на изображения в вложениях сообщений могут использовать только ссылки на общедоступные URL-адреса:

  1. Загрузить файл с помощью files.upload и получить идентификатор файла
  2. Сделать общедоступным URL-адрес файла с помощью files.sharedPublicURL и получить permalink_public
  3. Прикрепить изображение к вложению, используя permalink_public для свойства image_url

Кроме того, url_private является допустимым URL-адресом, но для использования необходимо указать заголовок авторизации.it:

Authorization: Bearer A_VALID_TOKEN

См. здесь для более подробной информации об аутентификации для файлов Slack.

0 голосов
/ 11 декабря 2018

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

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

...