Это работает, используя комбинацию библиотеки node-trello npm и простого HTTPS-запроса. Включите ваши собственные ENV_SECRET и ENV_TOKEN для вашего Trello API. Запрос GET вернет список объектов JSON, по 1 для каждого вложения на карте, укажите indexOfAttachment, который вы хотите использовать, и cardId для карты, к которой вы хотите получить доступ.
var secret = ENV_SECRET;
var token = ENV_TOKEN;
var https = require('https');
var fs = require('fs');
var t = require('node-trello');
downloadAttachment = function () {
t.get('1/cards/' + cardId + '/attachments', (err, attachmentData) => {
if (!err) {
var url = attachmentData[indexOfAttachment].url;
var filename = url.split('/')[url.split('/').length - 1];
console.log(filename);
var dest = '.downloads/' + filename;
var download = fs.createWriteStream(dest);
https.get(url + '?key=' + secret + '&token=' + token, (res) => {
res.pipe(download);
download.on('finish', function () {
download.close((err) => {
if (!err) {
return false;
} else {
console.log(err);
}
});
}).on('error', (err) => {
fs.unlink(dest);
});
});
} else {
console.log(err);
}
});
};