sp-download
v2.0.0
Published
Easy to use files download client library and CLI for SharePoint in Node.js
Downloads
5,266
Maintainers
Readme
sp-download - Easy to use files download client library and CLI for SharePoint in Node.js
sp-download
is a SharePoint files download library and CLI in Node.js.
Supported SharePoint versions
- SharePoint Online
- SharePoint 2013/2016/2019
Features
- CLI && A library scenarios
- Support robust authentication scenarios
- Streaming download
- download files of any sizes
- no memory consumption growth
Get started
Command line (CLI)
Prerequesites
- Node.js
Install as CLI
npm install sp-download -g
Command line (CLI) usage
sp-download --url="https://contoso.sharepoint.com/sites/site/lib/folder/file.ext" --out="./download"
or
sp-download --url="https://contoso.sharepoint.com/sites/site/lib/folder/file.ext" --out="./download/filename.ext"
Options
Print help:
sp-download -h
| Shortcut | Option | Description |
| --- | --- | --- |
| -V | --version | output the version number |
| -u | --url [value] | full path to the file in SharePoint, required |
| -o | --out [value] | local directory or path to file where downloaded file should be saved, optional, default is ./
|
| -c | --conf [value] | Path to private configuration file |
| -s | --site [value] | SharePoint SPWeb url, optional, default is requested based on url
|
| -d | --ondemand | On-Demand auth request, optional |
| -l | --logLevel [value] | Log level: Debug = 5, Verbose = 4, Info = 3 (default), Warning = 2, Error = 1, Off = 0 |
| -h | --help | output usage information |
In Node.js applications
Install as dependency
npm install sp-download --save
or
yarn add sp-download
Minimal setup (TypeScript)
import { Download, IAuthOptions } from 'sp-download';
const authContext: IAuthOptions = {
// ... node-sp-auth options
};
const download = new Download(authContext);
let filePathToDownload: string = 'https://contoso.sharepoint.com/sites/site/lib/folder/file.ext';
let saveToPath: string = './download';
download.downloadFile(filePathToDownload, saveToPath)
.then((savedToPath) => {
console.log(`${argv.url} has been downloaded to ${savedToPath}`);
})
.catch((error) => {
console.log(error);
});
Minimal setup (JavaScript)
const Download = require('sp-download').Download;
const authContext = {
// ... node-sp-auth options
};
const download = new Download(authContext);
let filePathToDownload = 'https://contoso.sharepoint.com/sites/site/lib/folder/file.ext';
let saveToPath = './download';
download.downloadFile(filePathToDownload, saveToPath)
.then((savedToPath) => {
console.log(`${argv.url} has been downloaded to ${savedToPath}`);
})
.catch((error) => {
console.log(error);
});
Authentication settings
The library provides a wizard-like approach for building and managing config files for node-sp-auth
(Node.js to SharePoint unattended HTTP authentication).
SharePoint On-Premise (2013, 2016):
- User credentials (NTLM)
- Form-based authentication (FBA)
- Add-In Only permissions
- ADFS user credentials
SharePoint Online:
- User credentials (SAML)
- Add-In Only permissions
- ADFS user credentials
For more information please check node-sp-auth credential options and wiki pages.