A shared package for reading and writing to SharePoint
Project description
MPR-sharepoint-utils
Installing the package
pipenv install mpr-sharepoint-utils
Using the package:
First, you must establish a SharePointConnection
, which takes the following arguments:
client_id
, the ID portion of your user (or service) account credentialsclient_secret
, the secret string of your user (or service) credentialssite_id
, the ID of the SharePoint site you wish to accesstenant
, the name of your organization (you can find this in a SharePoint URL, like "tenant.sharepoint.com")
Once you've established a connection, you can pass that to any of the utility functions to perform operations in SharePoint.
Example usage
from sharepoint_utils import SharePointConnection, get_txt
sharepoint_ctx = SharePointConnection(
client_id="<YOUR CLIENT ID>",
client_secret="<YOUR CLIENT SECRET>",
site_id="<YOUR SITE ID>",
tenant="<YOUR TENANT>"
)
txt_str = get_txt(
sharepoint_ctx,
drive="Documents",
file_path="path/to/file"
)
In order to reduce unnecessary bloat, utility functions that depend on large packages such as pandas
live in separate modules. These packages are not dependencies of mpr-sharepoint-utils
and therefore need to be installed directly into your project.
Example usage
from sharepoint_utils import SharePointConnection
from sharepoint_utils.spreadsheet_utils import get_csv_as_df
sharepoint_ctx = SharePointConnection(
client_id="<YOUR CLIENT ID>",
client_secret="<YOUR CLIENT SECRET>",
site_id="<YOUR SITE ID>",
tenant="<YOUR TENANT>"
)
df = get_csv_as_df(
sharepoint_ctx,
drive="Documents",
file_path="path/to/file"
)
FAQs
Q: How do I know what my site ID is?
A: First, get your access token with the first command below; then, plug that into the second command below to get your site ID.
Get access token (can use to get site id given hostname and path (site/subsite)):
curl --location --request POST 'https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=INSERT_CLIENT_ID' \
--data-urlencode 'scope=https://graph.microsoft.com/.default' \
--data-urlencode 'client_secret=INSERT_CLIENT_SECRET' \
--data-urlencode 'grant_type=INSERT_CLIENT_CREDENTIALS'
Get site ID
curl --location --request GET 'https://graph.microsoft.com/v1.0/sites/{hostname}:/sites/{path}?$select=id' \
--header 'Authorization: Bearer access_token' \
--data
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mpr_sharepoint_utils-2.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 920f96b8ba5c89757fcd635da0c0e83ef244559c747d33de1224058820bd4969 |
|
MD5 | 101071ea02f280c6e2cb2973aeee64b1 |
|
BLAKE2b-256 | 7bb98536571eb0a8b677915bf04a435c9e3c012c8a00b8e508ecfb906c78d927 |
Hashes for mpr_sharepoint_utils-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d979f4c433aee5143fd11850ee1901f853f03fe70d2633b1faa14097a5939af4 |
|
MD5 | 9e59e4546e8d42880672089da4d45dfd |
|
BLAKE2b-256 | 392cb4b6092bee9195f560d1d11cb74c52d0174eba609e161d7388842af20774 |