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
Maintainers
- Claire McShane
- Holden Huntzinger
- Tess Martinez
- Max Grody
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.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a758cd69d0e52f557f86b23af51a6b66b3032c50c28c519bac3ac44cceb4b0e9 |
|
MD5 | 9001a5b86f9b89922ffd2a8d3ba43552 |
|
BLAKE2b-256 | 7a684e0f22c2c72846bc1faf48147116c7f72af373cdc838053bef4fa291c311 |
Hashes for mpr_sharepoint_utils-2.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 737273495d3ef4fa82485dd9263601a04e643a570980fb8699e69339dd91c73d |
|
MD5 | 9ad41c486afdfe844301146e1bd0cc2e |
|
BLAKE2b-256 | dddc8fe9914b9fe522ca687f4984a82b9ac8017006f466b6af4d44f2ef27f15c |