Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

158
Visualizações
Cadena de carga de API de Slack como archivo

Tengo una variable de picadura de un csv. Quiero subirlo a un canal de Slack como un archivo .csv, no como texto.

 async function run() { const csvData = 'foo,bar,baz'; const url = 'https://slack.com/api/files.upload'; const res = await axios.post(url, { channel: '#csvchannel', filename: 'CSVTest.csv', content: csvData }, { headers: { authorization: `Bearer ${slackToken}` } }); console.log('Done', res.data); }

Este código devuelve: error: 'no_file_data', Cambiar contenido a archivo da la misma respuesta.

¿Qué tengo que hacer para convertir la picadura csv en un archivo que se pueda cargar? No puedo usar fs para escribir el archivo.

He intentado usar fs.createReadStream(csvData) pero eso necesita un archivo, no una cadena.

Documentación de la API de Slack: https://api.slack.com/methods/files.upload

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No necesita convertir el CSV en un archivo, parece que le faltan un par de cosas aquí:

  • propiedad fileType , debe ser CSV .
  • La API de carga de archivos de Slack admite tipos de contenido multipart/form-data y application/x-www-form-urlencoded . Te estás perdiendo el tipo de contenido.

Vea un ejemplo práctico de cómo podría enviar los datos usando application/x-www-form-urlencoded

Enviar un CSV a Slack Ver en Fusebit
 const csvData = 'foo,bar,baz'; const url = 'https://slack.com/api/files.upload'; const params = new URLSearchParams() params.append('channels', slackUserId); params.append('content', csvData); params.append('title', 'CSVTest'); params.append('filetype', 'csv'); const result = await axios.post(url, params, { headers: { authorization: `Bearer ${access_token}`, 'Content-Type': 'application/x-www-form-urlencoded' } }); ctx.body = { message: `Successfully sent a CSV file to Slack user ${slackUserId}!` };
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda