javascript - 使用node下载slack文件

标签 javascript node.js slack

我正在尝试下载之前在 slack 中上传的文件。我正在使用以下链接,该链接表示我需要使用消息的 url_private 属性以及授权 header 。 https://api.slack.com/types/file#authentication

我已经尝试过这个,但无法使其工作。这是我当前的代码。

var https = require('https');
var fs = require('fs');

var options = {
  "method": "GET",
  "hostname": "files.slack.com",
  "path": "/files-pri/FOO/download/foo.jpg",
  "rejectUnauthorized": "false",
  "headers": {
      "Authorization": "xoxp-foo-foo-foo"
  }
}

function pDownload(url, dest){
  var file = fs.createWriteStream(dest);
  return new Promise((resolve, reject) => {
    var responseSent = false; // flag to make sure that response is sent only once.

    https.get(options, response => {
      response.pipe(file);
      file.on('finish', () =>{
        file.close(() => {
          if(responseSent)  return;
          responseSent = true;
          resolve();
        });
      });
    }).on('error', err => {
        if(responseSent)  return;
        responseSent = true;
        reject(err);
    });
  });
}

//example
pDownload(permalink, fileLocation)
  .then( ()=> console.log('downloaded file no issues...'))
  .catch( e => console.error('error while downloading', e));

感谢您的帮助。

最佳答案

根据您共享的链接中的文档,Authorization header 不正确。您需要将 Bearer YOUR_SLACK_TOKEN 设置为如下所示的值。

'授权': '承载者 xoxp-foo-foo-foo-foo'

https://api.slack.com/types/file#authentication

关于javascript - 使用node下载slack文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39355159/

相关文章:

javascript - 使用 display none 而不是 html 呈现 html

javascript - ECMAScript 6 支持 node.js 及其不同的包,例如原生的express body_parser

javascript - 将字符串转换为整数时出现错误

single-sign-on - "Sign in with Slack"每次都提示用户权限

python - 如何使用 slack-apipins.add 方法

javascript - 无法使用 cron linux 运行我的解析服务器的云代码功能

javascript - 为什么负 while 循环如此之快?

python - 尝试在 python-slackclient 中使用@channel、@here 和@user

javascript - 输出树状对象

javascript - 异步/调用堆栈困惑