Nice Package, Mate

    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.

    Install

    npm i sp-download

    DownloadsWeekly Downloads

    671

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    39.3 kB

    Total Files

    24

    Last publish

    Collaborators

    • koltyakov