Simple way to handle sharepoint with python. Provides the ability to upload files and directories.
This package authenticates with Microsoft Entra ID client credentials and uses Microsoft Graph for SharePoint document library access.
Installation
install the latest stable version using pip
$ pip install simple-sharepoint
Usage
from simple_sharepoint.client import Client
client_id = < CLIENT_ID >
client_secret = < CLIENT_SECRET >
tenant_id = < TENANT_ID >
base_url = < BASE URL >
c = Client(client_id, client_secret, base_url, tenant_id)
-
TENANT_ID can be either the tenant ID or tenant domain, such as
contoso.onmicrosoft.com.
If omitted, it is inferred from the SharePoint host name. For example,https://contoso.sharepoint.combecomescontoso.onmicrosoft.com. -
See the link below for instructions on creating CLIENT_ID and CLIENT_SECRET for Entra ID app authentication.
Make Token -
Grant Microsoft Graph application permission for the target SharePoint site and complete admin consent.
UseSites.Read.Allfor read-only workflows, orSites.ReadWrite.All/Sites.FullControl.Allfor uploads and folder creation. -
Runtime requests must use Microsoft Graph URLs under
https://graph.microsoft.com/v1.0.
If logs still show SharePoint REST/_apiURLs or token audience00000003-0000-0ff1-ce00-000000000000, an old Office365 REST code path or package version is still being executed. -
BASE_URL refers to the main URL of the sharepoint.
( format ) https://<SHAREPOINT_DOMAIN>/sites/<SHAREPOINT_SITE>
( ex )https://test.sharepoint.com/sites/testsite -
SharePoint paths may use the existing server-relative format, such as
/sites/testsite/Shared Documents/excel/example.
The site prefix and default document library name are normalized to Microsoft Graph drive-root paths internally.
Functions
upload_file
A function that uploads a specific file to sharepoint.
default_path = < SHAREPOINT_BASE_PATH >
src = < LOCAL_FILE_PATH >
dst = default_path + < SHAREPOINT_TARGET_PATH >
upload_file(src, dst)
-
SHAREPOINT_BASE_PATH refers to the default path for a sharepoint document entry.
( format ) /sites/<SHAREPOINT_SITE>/Shared Documents
( ex )/sites/testsite/Shared Documents -
LOCAL_FILE_PATH means the path to the file to be uploaded.
( ex )/home/ubuntu/test.txt -
SHAREPOINT_TARGET_PATH means the actual path to be uploaded to sharepoint.
Think of the document menu in sharepoint as the root directory and enter the path thereafter.
You do not need to include the file name.
( ex )excel/example -
If you run it as above, it will be uploaded as below.
/sites/testsite/Shared Documents/excel/example/test.txt
upload_dir
A function that uploads a particular directory and all its contents under the directory to sharepoint.
default_path = < SHAREPOINT_BASE_PATH >
src = < LOCAL_DIR_PATH >
dst = default_path + < SHAREPOINT_TARGET_PATH >
upload_dir(src, dst)
-
SHAREPOINT_BASE_PATH, SHAREPIONT_TARGET_PATH See item upload_file
-
LOCAL_DIR_PATH means the path to the directory to be uploaded.
( ex )/home/ubuntu/files
download_file
A function that downloads a specific file from the sharepoint.
default_path = < SHAREPOINT_BASE_PATH >
src = default_path + < SHAREPOINT_TARGET_PATH >
dst = < LOCAL_FILE_PATH >
download_file(src, dst)
-
SHAREPOINT_BASE_PATH, SHAREPIONT_TARGET_PATH See item upload_file
-
The download_file function requires you to specify the file name to be stored in LOCAL_FILE_PATH. ( ex )
/home/ubuntu/files/test.txt
download_dir
A function that downloads a particular directory in the sharepoint and all the contents under it.
default_path = < SHAREPOINT_BASE_PATH >
src = default_path + < SHAREPOINT_TARGET_PATH >
dst = < LOCAL_DIR_PATH >
download_dir(src, dst)
- SHAREPOINT_BASE_PATH, SHAREPIONT_TARGET_PATH, LOCAL_DIR_PATH See item upload_dir
list_dir
A function that listing a particular directory in the sharepoint and all the contents under it.
default_path = < SHAREPOINT_BASE_PATH >
src = default_path + < SHAREPOINT_TARGET_PATH >
list_dir(src)
- SHAREPOINT_BASE_PATH, SHAREPIONT_TARGET_PATH See item upload_dir
Use console scripts
simple-sharepoint-cli < FILE_PATH > --client-id < CLIENT_ID > --client-secret < CLIENT_SECRET > --tenant-id < TENANT_ID > --base-url < BASE_URL > --default-path < DEFAULT_PATH > --remote-dir < REMOTE_DIR >
- CLIENT_ID, CLIENT_SECRET, TENANT_ID, BASE_URL See item Usage.
- DEFAULT_PATH See upload_dir. same SHAREPOINT_BASE_PATH
- REMOTE_DIR See upload_dir. same SHAREPOINT_TARGET_PATH
Third Party Libraries and Dependencies
Metadata
Release files for simple-sharepoint 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simple_sharepoint-0.1.8-py3-none-any.whl | Python 3 | none | any | Details |