Command line interface for SharePoint
Project description
Installation
$ pip install sharepointcli
Configuration
To allow authentication you first need to register your application. For steps on how to configure the app in the Azure portal, see Register your app
For general use, the spo configure
command is the fastest way to set up SharePoint CLI.
When you enter this command, the CLI prompts you for the following configurations:
- SharePoint domain
- Application (client) ID
- Application (client) secret
The spo configure
command stores the credentials in the credentials file.
You can configure configure multiple credentials for different SharePoint domains.
Example:
$ spo configure
SharePoint domain (e.g. example.sharepoint.com):
Tenant Id: db3fe96d-1b57-4119-a5fd-bd139021158d
Client Id: fa3ecc92-5994-475e-a647-1f81931aac43
Client Secret: ~vaXZkx&836mH56FymE6Gx7j$t&JT.-5em
Visit the following url to give consent:
https://login.microsoftonline.com/db3fe96d-1b57-4119-a5fd-bd139021158d/oauth2/v2.0/authorize?response_type=...
Paste the authenticated url here:
https://login.microsoftonline.com/common/oauth2/nativeclient?code=....
Authentication Flow Completed. Oauth Access Token Stored. You can now use the API.
Authenticated!
The credentials take precedence in the following order:
- Command line options
- Environment variables
- Credentials file
Command line options
You can use the following command line options to override the default configuration settings.
-
--client_id
Specifies the Client Id.
-
--client_secret
Specifies the Client Secret
-
--tenant_id
Specifies the Tenant Id
Environment variables
Environment variables provide another way to specify credentials, and can be useful for scripting. If you specify an option by using a parameter on the command line, it overrides any value from the environment variables or the configuration file.
The CLI supports the following environment variables:
-
SPO_HOME
Specifies the home directory. The default path is "~/.spo".
-
SPO_CREDENTIALS_FILE
Specifies the location of the file that the CLI to store credentials. The default path is "~/.spo/credentials".
-
SPO_CLIENT_ID
Specifies the Client Id.
-
SPO_CLIENT_SECRET
Specifies the Client Secret
-
SPO_TENANT_ID
Specifies the Tenant Id
Credentials file
The CLI stores sensitive credential information in a file named credentials in a directory named .spo
in your home directory.
For example, the file generated with spo configure
looks similar to the following:
[example.sharepoint.com]
client_id = fa3ecc92-5994-475e-a647-1f81931aac43
client_secret = ~vaXZkx&836mH56FymE6Gx7j$t&JT.-5em
tenant_id = db3fe96d-1b57-4119-a5fd-bd139021158d
Usage
authenticate
Performs the OAuth authentication flow using the console.
Usage
$ spo authenticate [domain]
configure
Configures credentials.
Usage
$ spo configure [domain]
cp
Copying a local file to SharePoint.
Usage
$ spo cp <LocalPath> <SharePointUrl> or cp <SharePointUrl> <LocalPath>
Examples
The following cp command copies a single file to a specified site:
$ spo cp test.txt 'https://example.sharepoint.com/sites/example/Shared documents/test.txt'
upload: test.txt to https://example.sharepoint.com/sites/example/Shared documents/test.txt
The following cp command copies a single file from a SharePoint site:
$ spo cp 'https://example.sharepoint.com/sites/example/Shared documents/test.txt' test.txt
download: https://example.sharepoint.com/sites/example/Shared documents/test.txt' to test.txt
help
Displays commands help.
Usage
$ spo help [topic]
ls
Lists files and folders.
Usage
$ spo ls [options] <SharePointUrl>
Options
-mtime n File's status was last changed n*24 hours ago. ('+n' more than n, 'n' exactly n, '-n' less than n)
Examples
$ spo ls 'https://example.sharepoint.com/sites/example/Shared documents/*.txt'
mkdir
Creates folder.
Usage
$ spo mkdir <SharePointUrl>
rm
Deletes files.
Usage
$ spo rm [options] <SharePointUrl>
Options
-mtime n File's status was last changed n*24 hours ago. ('+n' more than n, 'n' exactly n, '-n' less than n)
Examples
$ spo rm 'https://example.sharepoint.com/sites/example/Shared documents/*.txt'
rmdir
Deletes folder.
Usage
$ spo rmdir <SharePointUrl>
version
Prints the version number.
Usage
$ spo version
Tests
To run the unit tests:
- create the ~/.spo/credentials credentials file
- export your SharePoint test site url as environment variable 'SITE'
$ spo configure
SharePoint domain (e.g. example.sharepoint.com):
Tenant Id: db3fe96d-1b57-4119-a5fd-bd139021158d
Client Id: fa3ecc92-5994-475e-a647-1f81931aac43
Client Secret: ~vaXZkx&836mH56FymE6Gx7j$t&JT.-5em
$ expot SITE='https://example.sharepoint.com/sites/example/Shared documents/test folder'
$ make test
License
This project is licensed under the MIT license.
Links
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.