Microsoft OneDrive Component
Table of Contents
Description
Microsoft OneDrive Component is designed to manage files and folders in OneDrive service using Microsoft Graph API
Environment variables
Name |
Mandatory |
Description |
Values |
API_RETRIES_COUNT |
false |
Set how many time system try to make request to API on server errors (3 by default) |
integer above 0 and below 5 |
API_REQUEST_TIMEOUT |
false |
HTTP requests timeout in milliseconds (15000 by default) |
integer above 500 and below 20000 |
API version
Current release of component tested on Graph API v1
(https://graph.microsoft.com/v1.0/
)
Credentials
Microsoft OneDrive uses the OAuth 2.0.
How to register an application look here.
Redirect URI for platform is https://{your-tenant-address}/callback/oauth2
- Type (dropdown, required) -
OAuth2
- Choose Auth Client (dropdown, required) - select one of created before or
Add New Auth Client
:
- Name (string, required) - provide any name you want
- Client ID (string, required) - put here
Application (client) ID
- Client Secret (string, required) - put here
Client credentials
- Authorization Endpoint (string, required) - OneDrive authorization endpoint
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
- Token Endpoint (string, required) - OneDrive refresh token endpoint
https://login.microsoftonline.com/common/oauth2/v2.0/token
- Name Your Credential (string, required) - provide any name you want
- Scopes (Space-separated list) (string, required) - Put here scopes to get access to your OneDrive -
offline_access Files.ReadWrite.All
Actions
Create Folder
Create new folder in provided path
. If path
not exist component will fail.
Configuration Fields
- Drive Identity - (dropdown, required): OneDrive instance to work with
- Conflict Behavior - (dropdown, optional,
Fail
by default) - Select one of options to handle case when folder already exists:
- Fail - Fails if folder with same name already exists under provided
path
- Generate new name - If folder with same name already exists under provided
path
then will be created new folder with different name. Examples: folder_name
(already exist) -> folder_name 1
(will be created), folder_name 1
(already exist) -> folder_name 1 1
(will be created)
- Upsert - If folder already exist, you will get information about this folder
Input Metadata
- Path - (string, required): Full path to folder where you need to create new folder, ex:
Monthly reports/November
- Name - (string, required): Name of new folder
Output Metadata
Metadata of created folder
Delete File
Action to delete item from OneDrive by provided path in selected disc.
Configuration Fields
- Drive Identity - (dropdown, required): OneDrive instance to work with
- Emit strategy when file not found - (dropdown, optional,
Emit nothing
by default) - select one of options to handle case when file not exist:
- Emit nothing - component will not produce any messages
- Emit an empty object - result will be empty object:
{}
- Throw an error - error will be thrown
Input Metadata
- Path - (string, required): Full path to item, ex:
Monthly reports/November/Cars sales.pdf
Output Metadata
- Path - (string, required): Full path to item, ex:
Monthly reports/November/Cars sales.pdf
Get File
Lookup a single file by its path.
Configuration Fields
- Drive Identity - (dropdown, required): OneDrive instance to work with
- Enable File Attachments - (checkbox, optional): If checked, file will be uploaded to local storage and link provided in response
Input Metadata
- Path - (string, required): Full path to item, ex:
Monthly reports/November/Cars sales.pdf
Output Metadata
File information as JSON object, if Enable File Attachments
checked, there also will be additional field attachmentUrl
with link to file on platform
Upsert File
Updates (if record exist) or creates a new file
Configuration Fields
- Drive Identity - (dropdown, required): OneDrive instance to work with
- Upload single file - (checkbox, optional): Use this option if you want to upload a single file
Input Metadata
If Upload single file
checked, there will be 2 fields:
- URL - (string, required): link to file on Internet or platform
- Path - (string, required): Full path to item on OneDrive, ex:
Monthly reports/November/Cars sales.pdf
If Upload single file
unchecked:
- Files - (array, required): Collection of files to upload, each record contains object with two keys:
- URL - (string, required): link to file on Internet or platform
- Path - (string, required): Full path to item on OneDrive, ex:
Monthly reports/November/Cars sales.pdf
Output Metadata
Result object from upsert.
Triggers
Get New and Updated Objects Polling
Retrieve all the updated or created objects within a given time range.
Configuration Fields
- Drive Identity - (dropdown, required): OneDrive instance to work with
- Folders path - (multiselect dropdown, required): Select folders to follow
- Include subfolders - (checkbox, optional): If checked, trigger will follow to each subfolder of selected folder.
❗Note: this will increase the number of API calls
- Enable File Attachments - (checkbox, optional): If checked, file will be uploaded to local storage and link provided in response
- Time stamp field to poll on - (dropdown, optional, default
Last Modified
): Select which date will be used to track files - Last Modified
or Created
- Emit Behavior - (dropdown, optional, default
Emit individually
): Defines the way result objects will be emitted, one of Emit page
or Emit individually
.
- Page Size - (number, optional, defaults to 999, max 999): Indicates the size of pages to be fetched per request
- Start Time - (string, optional): The timestamp to start polling from (inclusive) - using ISO 8601 Date time utc format - YYYY-MM-DDThh:mm:ssZ. Default value is the beginning of time (January 1, 1970 at 00:00).
- End Time - (string, optional): The timestamp to stop polling (exclusive) - using ISO 8601 Date time utc format - YYYY-MM-DDThh:mm:ssZ. Default value is flow execution time.
Input/Output Metadata
None.
Output Metadata
Depends on Enable File Attachments
and Emit behavior
fields.
- If
Emit behavior
field is equal to Emit page
- object with property results
that contains array of files
- If
Emit behavior
field is equal to Emit individually
, file information will fulfill whole message
- If
Enable File Attachments
checked, for each file there will be additional field - attachmentUrl
Limitations
- OneDrive API doesn't support filtering - as result we collect information about all files from selected folders and filter them locally (inside component) for each trigger execution
- From point above, option
Emit page
not always emit records according to Page Size
Include subfolders
increase amount of API calls - additional call for each subfolder and inner folders