Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

Office 365

This documentation for the Office 365 integration describes the technical capabilities of this integration, including authorization, scopes/permissions, and utilized endpoints. For more information on how to integrate Office 365, visit our connection instructions.

Version

This integration utilizes the Office 365 Microsoft Graph REST API v1.0.

Base URL

The base URL used for all Office 365 API endpoints:
https://graph.microsoft.com/v1.0

Authentication & Authorization

The DataGrail Office 365 integration connects using OAuth 2.0.

Scopes

The Office 365 integration requires specific scopes that must be granted in order to function for a given capability.

ScopeBaseAccess
offline_access
Files.Read.All
Sites.Read.All
Base Scopes
All base scopes must be granted in order to connect the integration with DataGrail. The remaining scopes are only required if enabling those capabilities

Endpoints Utilized

DataGrail uses the following endpoints to authorize and test the connection:


Limits

Limits in Office 365 are calculated using the leaky bucket algorithm. All requests that are made after rate limits have been exceeded are throttled and an HTTP 429 Too Many Requests error is returned. Requests succeed again after enough requests have emptied out of the bucket.

  • DataGrail supports requests throttling to stay within 70-80% of specified service rate limits.
  • DataGrail processes API responses with HTTP 429 status to interrupt requests, waiting and retrying (using an exponential backoff strategy).

Capabilities

Access

DataGrail's Office 365 integration provides Synchronous Access capabilities for the following supported identifier category: Email.

Data Interactions

For Access requests, DataGrail will take the following actions:

  1. Get a list of the current user's Drive IDs (OneDrive).
  2. Get SharePoint Drive IDs:
    • Get user's site IDs.
    • Get a list of subsites by site ID.
    • Merge site and subsite IDs.
    • Get Drive IDs by site or subsite ID.
  3. Search OneDrive files by the Data Subject email:
    • Search items (files) by user OneDrive ID and Data Subject email (search text). Search text value (email) may be matched across several fields including filename, metadata, and file content.
    • Download identified files.
    • Check the content-type and process file depending on the type (unzip).
    • Search for an exact email match to build a user_drive_files collection.
  4. Search SharePoint files by the Data Subject email:
    • Search items (files) by SharePoint ID and Data Subject email (search text). Search text value (email) may be matched across several fields including filename, metadata, and file content.
    • Download identified files.
    • Check the content-type and process file depending on the type (unzip).
    • Search for an exact email matching to build a share_point_drive_files collection.

Endpoints Utilized

MethodEndpointPurposeDocs
GET/drives/driveIdGet a drive by ID
GET/drives/drive_id/items/item_id/contentDownload found files.
GET/drives/drive_id/root/search(q='EMAIL_SUBSTR')Search items (files) by SharePoint ID and customer email
GET/me/drivesGet list of the current user's drives
GET/sitesGet user's sites
GET/sites/site_id/sitesGet list of subsites

 

Need help?
If you have any questions, please reach out to your dedicated Account Manager or contact us at support@datagrail.io.

Disclaimer: The information contained in this message does not constitute as legal advice. We would advise seeking professional counsel before acting on or interpreting any material.