sp-download
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

sp-download - Easy to use files download client library and CLI for SharePoint in Node.js

NPM

npm version Downloads Build Status Gitter chat

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.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.0.0
    642
    • latest

Version History

Package Sidebar

Install

npm i sp-download

Weekly Downloads

833

Version

2.0.0

License

MIT

Unpacked Size

39.3 kB

Total Files

24

Last publish

Collaborators

  • koltyakov