Skip to content

Instantly share code, notes, and snippets.

@trevorfoskett
Created November 22, 2019 07:13
Show Gist options
  • Save trevorfoskett/99bc51f531016ad25f54f5b65b0f274f to your computer and use it in GitHub Desktop.
Save trevorfoskett/99bc51f531016ad25f54f5b65b0f274f to your computer and use it in GitHub Desktop.
List, then download encrypted files in Drive by ID.
drive.files.list({
fields: 'nextPageToken, files(id, name)',
q: `'${folderId}' in parents and name contains "tdf3.html" and trashed = false`
}, (err, res) => {
if (err) return console.log('The API returned an error: ' + err);
// Generate list of files.
const files = res.data.files;
if (files.length) {
files.map((file) => {
// Get name and ID of each file.
var fileId = file.id;
var fileName = file.name;
var dest = fs.createWriteStream(`/some-folder/${fileName}`);
drive.files.get({ // Begin download request for file by ID.
fileId: fileId,
alt: 'media'
}, {
responseType: 'stream'
}, function(err, res) {
res.data
.on('end', () => {
console.log('Done.');
})
.on('error', err => {
console.log(err);
})
.pipe(dest);
});
});
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment