sharepointlib
Package Description
Microsoft SharePoint client Python package that uses the requests library.
[!IMPORTANT]
This packages uses pydantic~=1.0!
Usage
from a script:
import sharepointlib
import logging
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
client_id = "123..."
tenant_id = "123..."
client_secret = "xxxx"
sp_domain = "companygroup.sharepoint.com"
sp_site_name = "My Site"
sp_site_id = "companygroup.sharepoint.com,1233124124"
sp_site_drive_id = "b!1234567890"
sharepoint = sharepointlib.SharePoint(client_id=client_id,
tenant_id=tenant_id,
client_secret=client_secret,
sp_domain=sp_domain)
response = sharepoint.get_site_info(name=sp_site_name)
if response.status_code == 200:
print(response.content)
response = sharepoint.get_hostname_info(site_id=sp_site_id)
if response.status_code == 200:
print(response.content)
response = sharepoint.get_hostname_info(site_id=sp_site_id)
if response.status_code == 200:
print(response.content)
Drives:
response = sharepoint.list_drives(site_id=sp_site_id)
if response.status_code == 200:
print(response.content)
response = sharepoint.get_dir_info(drive_id=sp_site_drive_id,
path="Sellout/Support")
if response.status_code == 200:
print(response.content)
response = sharepoint.list_dir(drive_id=sp_site_drive_id,
path="Sellout/Support")
if response.status_code == 200:
print(response.content)
response = sharepoint.create_dir(drive_id=sp_site_drive_id,
path="Sellout/Support",
name="Archive")
if response.status_code in (200, 201):
print(response.content)
response = sharepoint.create_dir(drive_id=sp_site_drive_id,
path="Sellout/Support",
name="Test")
if response.status_code in (200, 201):
print(response.content)
response = sharepoint.delete_dir(drive_id=sp_site_drive_id,
path="Sellout/Support/Test")
if response.status_code in (200, 204):
print("Folder deleted successfully")
response = sharepoint.get_file_info(drive_id=sp_site_drive_id,
filename="Sellout/Support/Sellout.xlsx")
if response.status_code in (200, 202):
print(response.content)
response = sharepoint.copy_file(drive_id=sp_site_drive_id,
filename="Sellout/Support/Sellout.xlsx",
target_path="Sellout/Support/Archive")
if response.status_code in (200, 202):
print("File copied successfully")
response = sharepoint.move_file(drive_id=sp_site_drive_id,
filename="Sellout/Sellout.xlsx",
target_path="Sellout/Support/Archive")
if response.status_code == 200:
print(response.content)
response = sharepoint.delete_file(drive_id=sp_site_drive_id,
filename="Sellout/Support/Sellout.xlsx")
if response.status_code in (200, 204):
print("File deleted successfully")
response = sharepoint.download_file(drive_id=sp_site_drive_id,
remote_path=r"Sellout/Support/Archive/Sellout.xlsx",
local_path=r"C:\Users\admin\Downloads\Sellout.xlsx")
if response.status_code == 200:
print("File downloaded successfully")
response = sharepoint.upload_file(drive_id=sp_site_drive_id,
local_path=r"C:\Users\admin\Downloads\Sellout.xlsx",
remote_path=r"Sellout/Support/Archive/Sellout.xlsx")
if response.status_code in (200, 201):
print(response.content)
Installation
Install python and pip if you have not already.
Then run:
pip3 install pip --upgrade
pip3 install wheel
For production:
pip3 install sharepointlib
This will install the package and all of it's python dependencies.
If you want to install the project for development:
git clone https://github.com/aghuttun/sharepointlib.git
cd sharepointlib
pip3 install -e .[dev]
To test the development package: Testing
License
BSD License (see license file)