2016-09-06 3 views
0

Я пытаюсь загрузить файл, который был ранее загружен в slack. Я использую следующую ссылку, в которой говорится, что мне нужно использовать свойство url_private сообщения вместе с заголовком авторизации. https://api.slack.com/types/file#authenticationзагрузить slack файл с помощью узла

Я пробовал это и не могу заставить его работать. Вот мой текущий код.

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));

Спасибо за помощь.

+0

Не могли бы вы опубликовать любые выходы или ошибки вы получаете, возможно, что получает ваш обработчик ошибок? – broguinn

ответ

0

В документах по указанной вами ссылке заголовок Authorization указан неверно. Вы должны иметь Bearer YOUR_SLACK_TOKEN как значение, как показано ниже.

'Authorization': 'Bearer xoxp-foo-foo-foo-foo'

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

Смежные вопросы