Я использовал 1.26.1 slack api с filesUpload (версия 1), и он отлично работал, теперь он отправляет предупреждение о том, что я должен использовать filesUploadV2. Когда я обновился до нового слабого API 1.27.1, я столкнулся с проблемой, используя filesUploadV2.
Вот документация по slack api: https://api.slack.com/methods/files.upload
У НИХ НЕТ ДОКУМЕНТАЦИИ ДЛЯ ЗАГРУЗКИ ФАЙЛОВ V2, НО У НИХ ЕСТЬ ПРЕДУПРЕЖДЕНИЕ ОБ ИСПОЛЬЗОВАНИИ ЗАГРУЗКИ ФАЙЛОВ V2
Вот что я сделал:
fun postFileToSlack(file: File, text: String, fileName: String) {
val uploadFiles = UploadFile.builder()
.file(file)
.filename(fileName)
.title(fileName)
.build()
val request: FilesUploadV2Request = FilesUploadV2Request.builder()
.initialComment(text)
.uploadFiles(mutableListOf(uploadFiles))
.channel(slackBotProperties.channelName)
.build()
val result = methods.filesUploadV2(request)
}
Я получаю сообщение об ошибке (совершенно неописательное imo):
com.slack.api.methods.SlackFilesUploadV2Exception: null
at com.slack.api.methods.impl.FilesUploadV2Helper.<init>(FilesUploadV2Helper.java:33)
at com.slack.api.methods.impl.MethodsClientImpl.filesUploadV2(MethodsClientImpl.java:1969)
at project.SlackService.postFileToSlack(SlackService.kt:76)
at project.AnotherService.function(AnotherService.kt:64)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
например, что работало в filesUpload (v1):
fun postFileToSlack(file: File, text: String) {
val request: FilesUploadRequest = FilesUploadRequest.builder()
.file(file)
.filename("file")
.initialComment(text)
.channels(mutableListOf(slackBotProperties.channelName))
.build()
methods.filesUpload(request)
}
Заранее спасибо.
@inigoD нет, я просто решил проигнорировать это предупреждение и использовать filesUploadV1. Я отправил отзыв об их документации, возможно, они обновят ее рано или поздно.





Я тоже получал эту ошибку, проблема была с разрешениями, которые бот имел для загрузки файла v2. Заглянув в журнал изменений , нашел это:
При переходе на метод v2 обратите внимание, что для нового метода требуются как файлы: запись, так и файлы: чтение. Если в ваших существующих приложениях есть только область файлов: запись для загрузки файлов, вам необходимо добавить файлы: чтение в области, а также переустановить приложение, чтобы выдать обновленный токен.
Вам просто нужно добавить новые прицелы в бота и снова установить его на соответствующие каналы. После этого вы не получите эту ошибку. Вы также можете проверить в журнале изменений пример того, как использовать новые методы.
Ты явно лучший. :)
Спасибо, никогда бы не подумал, что для загрузки файлов требуется разрешение files.read :)
Такая же проблема... Вы смогли это исправить?