Changelog
- 433: OneDrive API: support for downloading large files (via chunked download) by juguerre
Example:
python
from office365.graph_client import GraphClient
from office365.onedrive.driveitems.driveItem import DriveItem
def print_download_progress(offset):
print("Downloaded '{0}' bytes...".format(offset))
client = GraphClient(acquire_token_by_username_password)
1. address file by path and get file metadata
file_item = client.me.drive.root.get_by_path("archive/big_buck_bunny.mp4").get().execute_query() type: DriveItem
2 download a large file (chunked file download)
with tempfile.TemporaryDirectory() as local_path:
with open(os.path.join(local_path, file_item.name), 'wb') as local_file:
file_item.download_session(local_file, print_download_progress).execute_query()
print("File '{0}' has been downloaded into {1}".format(file_item.name, local_file.name))
- 430: improved support for overriding underlying HTTP request settings(such as proxy and SSL) by juguerre
- 465: SharePoint API: allow passing scopes via certificate authentication method by theodoriss
Example
python
from office365.sharepoint.client_context import ClientContext
cert_settings = {
'client_id': '-- app id--',
'thumbprint': "-- cert thumbprint--",
'cert_path': 'mycert.pem'),
'scopes': ['https://contoso.onmicrosoft.com/.default']
}
ctx = ClientContext(test_site_url).with_client_certificate(test_tenant, **cert_settings)
current_web = ctx.web.get().execute_query()
print("{0}".format(current_web.url))
- 461: include `pytz` to install dependency by Zahlii
- Microsoft Graph API: Improved support for delta queries ([official docs](https://docs.microsoft.com/en-us/graph/delta-query-overview))
Example: get incremental changes for users
python
client = GraphClient(acquire_token_func)
changed_users = self.client.users.delta.get().execute_query()