On This Page
Overview
The Dropbox for Business Teams Folders connector in DryvIQ allows you to analyze, migrate, copy, and synchronize team folders in your Dropbox for Business account. This connector is useful in instances where you only want access to team folders. The first step is to create the Dropbox connection by providing the connection information required for DryvIQ to connect to the account. The connector must use a Dropbox for Business Administrator account. Standard accounts will return an error from the Dropbox for Business platform. The connector will only connect to team folders in the root of the account.
For more information on using a standard Dropbox account, please refer to the Dropbox connector page.
There is a known issue with permission disinheritance when Dropbox for Business Teams Folders is the source platform. When migrating content to a destination platform that supports permission disinheritance, the disinheritance may not be correctly applied. This will be addressed in a future release. Please reach out to DryvIQ Customer Support or your DryvIQ Customer Success representative if you have questions regarding this issue.
Create Connection | User Interface
Select Connections > Add connection.
Select Dropbox for Business Team Folders as the platform on the Add connection modal.
Enter the connection information. Reference the table below for details about each field.
Select Sign in with Dropbox for Business Team Folders.
On the Dropbox API Request Authorization modal, enter the Email and Password required to log in to the account and select Sign In. Only an Administrator account can be used for Dropbox for Business. Standard accounts will return an error from the Dropbox for Business platform.
You will see a "Connection test succeeded" message on the Add connection modal. (If you don't see this message, repeat the sign in and authorization steps above.)
Select Done to finish creating the connection.
Add Connection Modal - Dropbox for Business Team Folders
Use Custom Client Credentials
Field | Description | Required |
---|---|---|
Display as | Enter the display name for the connection. If you will be creating multiple connections, ensure the name readily identifies the connection. The name displays in the application, and you can use it to search for the connection and filter lists. If you do not add a display name, the connection will automatically be named using the account owner's name. For example, Dropbox for Business Team Folders (Name). If it will be useful for you to reference the connection by account, you should use the default name. | Optional |
Platform API client credentials | Required | |
Use the system default client credentials | Select this option to use the default DryvIQ client application. | |
Use custom client credentials | Select this option to use custom client credentials provided by your administrator. When selected, two additional fields will be available to enter the credentials. | |
Client ID | This field displays only when you select Use custom client credentials. This value will be provided by your administrator. | Required when using custom credentials |
Client Secret | This field displays only when you select Use custom client credentials. This value will be provided by your administrator. | Required when using custom credentials |
Include unmounted folders | Indicate if you want to DryvIQ to show unmounted folders owned by the user. The default option is No, so unmounted folders do not display. If you select Yes, DryvIQ will display unmounted folders owned by the user. Only folders will display; the contents for the folders will not display. DryvIQ will not migrate the unmounted folders if used in a job. The DryvIQ will be slow to return folders when you include unmounted folders due to the response times of the Dropbox API required to obtain this information. | Optional |
Dropbox API Request Authorization modal
Connection Test Succeeded
Features and Limitations
Platforms all have unique features and limitations. DryvIQ’s transfer engine manages these differences between platforms and allows you to configure actions based on Job Policies and Behaviors. Utilize the Platform Comparison tool to see how your integration platforms may interact regarding features and limitations.
Files and Folders
Below is list of Dropbox's supported and unsupported features as well as additional file/folder restrictions.
Supported | Unsupported | Other Features/Limitations |
---|---|---|
Version preservation | / < > \\ : ? * \ | ~ | |
File size maximum: All file uploads must be smaller than the account storage space. | ||
Path length maximum: n/a | ||
Segment path length: 255 | ||
Restricted types: n/a | ||
Permission preservation | No trailing spaces after file extensions | |
Author Preservation
The Dropbox connector uses "per-request impersonation." This means DryvIQ makes requests to the platform on behalf of the account owner, not the administrator. Therefore, files created by other users will fail to upload unless the account owner mounts the shared parent folder into their Dropbox drive before uploading the file. (See https://help.dropbox.com/files-folders/add-shared-folder for more information.) Failed uploads will be logged with a message similar to the following example: "[PermissionFailure] The account 'Joe Smith' is not authorized to perform the requested operation."
Missing or unknown account in Dropbox
If a job is set to impersonate an invalid or unknown Dropbox user during author preservation, DryvIQ will log an error in the Job Activity report. You will see an “Unknown failure” in the job activity with an error description that reads, “Missing or unknown account in Dropbox: <email address>” (where <email address> will be the invalid account that was encountered).
Dropbox Paper
DryvIQ does not support Dropbox paper. Dropbox Paper is a separate work space that stores Paper documents in your account on http://paper.dropbox.com . DryvIQ doesn't support have access to these documents as part of your Dropbox connection.
Path Lengths
Dropbox does not impose restrictions for the total path length.
Segment path lengths are limited to 255 character. Segments are delimited by a forward slash (/). For example, <max 255 characters>/<max 255 characters>.
Permission Disinheritance
Permissions disinheritance is when a set of permissions are set on a parent folder, and a sub-folder "breaks" those permission rules and add new ones (by removing user access, changing the permission level, etc.). There is a known issue with permission disinheritance when Dropbox for Business Teams Folders is the source platform. When migrating content to a destination platform that supports permission disinheritance, the disinheritance may not be correctly applied. This will be addressed in a future release. Please reach out to DryvIQ Customer Support or your DryvIQ Customer Success representative if you have questions regarding this issue.
Team Folders
When DryvIQ creates new team folders, the only user who will have access to the folder is the user DryvIQ used to create the folder (the admin account the connection was created with or the user being impersonated). Additional permissions will only be applied if the migration job is was copying permissions, too.
Versioning
The Dropbox platform treats content version history differently than other cloud platforms, with each native move and rename tracked as a new version. In order to only transfer true version history, enable the Scripting option on step 6 during job creation and copy the following JSON into the scripting box.
{ "transfer": { "versioning": { "preserve": "native", "select": "published" } } }
For more information about how to use Advanced Scripting, refer to the Advanced Scripting | Additional Configuration Options page.
Version Limits
While Dropbox allows you to store unlimited versions, the platform restricts version downloads to 100. This means only the most recent 100 versions for a given file will be transferred to the destination. Refer to the Dropbox API Documentation for more information. You can also find additional information in the Dropbox Forum.
Create Connection | REST API
Create a New Dropbox Connection
The following GET will return a target URL. Use this URL to log in to the Dropbox for Business account to authenticate and create the connection. Make sure you connect using an Administrator account.
GET {{url}}v1/connections/platforms/dfb-teams/new
Create a New Dropbox Connection Using Custom Credentials
Create a new connection using custom credentials with the example call below. Replace the name, client_id, and client_secret with information relevant to your connection.
{ "name": "Dropbox for Business Teams Folder", "platform": { "id": "dfb-teams" }, "auth": { "client_id": "{{clientID}}", "client_secret": "{{clientSecret}}" } }
Dropbox for Business with Single Sign-On (SSO)
Create a new connection using single sign-on with the example call below. You will need to obtain the applicable access token for your Dropbox for Business account.
{ "name": "Dropbox for Business Teams Folder", "platform": { "id": "dfb-teams" }, "auth": { "access_token": "{{access_token}}" } }
Create Job | Dropbox for Business Team Folders Account Admin Connection
Create a simple transfer job using the example call below. Replace the information with information relevant to your job and connectors.
The following are known issues when creating a job for a Dropbox for Business account using an Administrator account connection.
Connection-based Impersonation should be used due to a caching issue which may incorrect shared folder detection.
Connection-based Impersonation is shown in the user-interface as "Run As...." option on the Locations step when creating a new job.
Path-based impersonation should not be used, first 'folder' is a user name such as "path": "/user@company.com/".
{ "name":"Simple Job", "kind": "transfer", "transfer": { "transfer_type": "copy", "source": { "connection": { "id": "source connection id" }, "impersonate_as": { "email": "user@company.com" }, "target": { "path": "/sourceFolder" } }, "destination": { "connection": { "id": "destination connection id" }, "target": { "path": "/path/destinationFolder" } }, "simulation_mode": false }, "schedule": { "mode": "manual" }, "stop_policy": { "on_success": 5, "on_failure": 5, "on_execute": 25 }, "category": { "name": "Report Category {Name}" } }