Ошибка no_file_data при использовании загрузки Slack API - PullRequest
0 голосов
/ 31 января 2019

Я получаю эту ошибку {"ok": false, "error": "no_file_data"} при попытке вызвать слабый API для загрузки.У меня уже есть указанный файл в ./log.

robot.respond /upload (.*)/i, (res) ->
    app_name = res.match[1]
    request = require("request")
    fs = require("fs")
    channel_name = res.message.room

    data = {
        channels: channel_name,
        filename: "#{app_name}.txt",
        file: fs.createReadStream("./log/#{app_name}.txt"),
    }

    robot.http("https://slack.com/api/files.upload")
      .headers(Authorization: 'Bearer slack-token', 'Content-Type': 'application/json')
      .post(data) (err, httpRes, body) ->
        if err
          res.send "#{err}"
          return

        res.send "#{body}"

1 Ответ

0 голосов
/ 01 февраля 2019

Это не работает, потому что метод API files.upload не поддерживает тип контента application/json posts.

В вашем случае вы должны отправить как multipart/form-data, с одной частью, содержащей данные файла, и одной частью, содержащей параметры API, включая токен.

...