Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/koltyakov/sp-download
SharePoint files download client in Node.js
https://github.com/koltyakov/sp-download
cli client download javascript nodejs sharepoint typescript
Last synced: about 1 month ago
JSON representation
SharePoint files download client in Node.js
- Host: GitHub
- URL: https://github.com/koltyakov/sp-download
- Owner: koltyakov
- License: mit
- Created: 2017-08-19T12:34:51.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-03T23:11:02.000Z (almost 2 years ago)
- Last Synced: 2024-11-11T20:55:31.832Z (about 2 months ago)
- Topics: cli, client, download, javascript, nodejs, sharepoint, typescript
- Language: TypeScript
- Homepage:
- Size: 417 KB
- Stars: 14
- Watchers: 5
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sp-download - Easy to use files download client library and CLI for SharePoint in Node.js
[![NPM](https://nodei.co/npm/sp-download.png?mini=true&downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/sp-download/)
[![npm version](https://badge.fury.io/js/sp-download.svg)](https://badge.fury.io/js/sp-download)
[![Downloads](https://img.shields.io/npm/dm/sp-download.svg)](https://www.npmjs.com/package/sp-download)
![Build Status](https://koltyakov.visualstudio.com/SPNode/_apis/build/status/sp-download?branchName=master)
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/sharepoint-node/Lobby)`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
```bash
npm install sp-download -g
```### Command line (CLI) usage
```bash
sp-download --url="https://contoso.sharepoint.com/sites/site/lib/folder/file.ext" --out="./download"
```or
```bash
sp-download --url="https://contoso.sharepoint.com/sites/site/lib/folder/file.ext" --out="./download/filename.ext"
```#### Options
Print help:
```bash
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
```bash
npm install sp-download --save
```or
```bash
yarn add sp-download
```#### Minimal setup (TypeScript)
```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)
```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`](https://github.com/s-KaiNet/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 credentialsFor more information please check node-sp-auth [credential options](https://github.com/s-KaiNet/node-sp-auth#params) and [wiki pages](https://github.com/s-KaiNet/node-sp-auth/wiki).