sharepointsimple
sharepointsimple is a python library to upload and download the files from SharePoint.
It uses SharePoint REST services to perform CRUD operations and runs on SharePoint's app-only principals using App-Only model for OAuth authentication.
Pre-Requisites
Client ID, Client Secret and Tenant ID is required to communicate with your SharePoint.
Read this documentation to generate Client ID, Client Secret and Tenant ID.
Note:
You must have Owner access to a SharePoint site to generate Client ID and Client Secret
Installation
pip install sharepointsimple
Methods
sharepointsimple has four methods
Usage
Step 1 ::
connect
import sharepointsimple as ss
ss.connect(clientid = 'Your-ClientID',
clientsecret = 'Your-ClientSecret',
tenantid = "Your-TenantID",
domain = 'yourCompany',
SP_sitename = 'yourSharePointSite'
)
Step 2 (1) ::
download
ss.download(local_path = "/Users/Folder",
SP_path = "Folder/SubFolder",
files_to_download = "file1.xlsx,file2.txt"
)
- Multiple file names should be given in comma seperated as a single string (list is also accepted)
- Remove argument filename if you want to download all the files in the folder i.e: SP_path
- You need not include 'Shared Documents', a default folder, under which all the files are present in
Step 2 (2) ::
upload
ss.upload(SP_path = "Folder/SubFolder",
local_path = "/Users/Folder",
files_to_download = "file1.xlsx,file2.txt",
)
Hola! You are done
Optional Step ::
create_folder
create_folder is an optional method if you want to create a new folder
It is NOT necessary to call this method before uploading a file to a non-existing folder in SP
upload method already has a built in functionality to create a folder if it doesn't exist in SP site
ss.create_folder(SP_path = "Folder/SubFolder")
Folder will be created in the SharePoint path
It will not create a new folder, if the folder is already present
License
MIT
Hit it, it costs nothing! :blush:
How to get Tenant ID
- Open any browser
- Type in the address bar, https://login.microsoftonline.com/[YourCompany].onmicrosoft.com/.well-known/openid-configuration\
Replace "[YourCompany]" with your organisation name
- In the response, look at the key named "token_endpoint"
- Your Tenant ID is, after https://login.microsoftonline.com/ and before /oauth2/token\
Example:
In the below response, Tenant ID is, 05200b0x-xxx2-4xx4-x25x-020ab5865xx3
***"token_endpoint":"https://login.microsoftonline.com/05200b0x-xxx2-4xx4-x25x-020ab5865xx3/oauth2/token"***\