At line 3 changed 2 lines |
Dropbox supports external integration through an HTTP-based REST API. \\ |
__''Restriction:'' __Dropbox REST API does not support resume on upload and mdtm(File modification time) changes.\\ |
__Dropbox Integration Overview__: Dropbox REST API based integration. ([Documentation Link|https://www.dropbox.com/developers/documentation/http/documentation])\\ |
---- |
__⚠️ Proxy Configuration:__ If your server accesses the internet through a proxy, make sure to whitelist the following domains for DropBox Authentication and storage access: __api.dropboxapi.com__\\ |
---- |
__⚠️ Restrictions__:\\ |
• __No Resume Support for Uploads__: The Dropbox REST API does not natively support resumable uploads for partially transferred files in a way that is compatible with CrushFTP’s integration capabilities.\\ |
• __No Support for MDTM (File Modification Time) Changes__: |
The API does not allow direct modification of a file’s metadata, including the file modification time (mdtm). When files are created or updated, the modification time is automatically managed by Dropbox.\\ |
---- |
At line 6 changed 2 lines |
Generate an api key using : https://www.dropbox.com/developers/apps?_tk=pilot_lp&_ad=topbar4&_camp=myapps\\ |
- the redirect url must be added like : https://www.example/?command=register_dropbox_api, it also need to end with "?command=register_dropbox_api".\\ |
Generate an __API Key__ using the __Dropbox Developer Portal__: [Dropbox My apps Link|https://www.dropbox.com/developers/apps?_tk=pilot_lp&_ad=topbar4&_camp=myapps]\\ |
\\ |
Click on the __Create App__ button:\\ |
__1.)__ Choose the appropriate API.\\ |
__2.)__ Choose the type of access:\\ |
- Full Dropbox (access to the entire Dropbox)\\ |
- App Folder (access only to an app-specific folder)\\ |
__3.)__ Name your app and click Create App.\\ |
__4.)__ Once the app is created, you’ll be redirected to the app settings page.\\ |
__5.)__ Under the Settings tab, you’ll find your App key (API key) and App secret.\\ |
\\ |
⚠️ The __Redirect URL__ must be added in the following format:\\ |
{{{ |
https://www.your.crushftp.com/?command=register_dropbox_api |
}}}\\ |
\\ |
It is important that the URL ends with __?command=register_dropbox_api__, as required by the Dropbox integration process.\\ |
\\ |
---- |
__⚠️ Note:__ For [CrushOIDC] Plugin the __Redirect URL__ must be added in the following format: |
{{{ |
https://www.your.crushftp.com/SSO_OIDC/ |
}}}\\ |
It is important that the URL ends with __/SSO_OIDC/__, as required by the [CrushOIDC] integration.\\ |
---- |
\\ |
At line 10 changed one line |
__Grant permissions for your api key: __\\ |
⚠️ Grant __Permissions__ for __Your Dropbox API__ Key. Click __Submit__ to save your changes.\\ |
At line 46 added one line |
---- |
At line 18 changed one line |
__!!! Important__: |
__⚠️ Important__: |
At line 23 removed 4 lines |
\\ |
Now that the API is enabled, and your credentials are setup, and your redirect domain is configured, you can use the credentials in CrushFTP to get your Dropbox auth token and get access.\\ |
In the User Manager, add a new remote VFS item type and set the protocol to be "Dropbox".\\ |
Take your Dropbox App key and App secret and combine them together with a tilde as separator:\\ |
At line 28 changed 8 lines |
{{{ |
ap_key: ew7XXXXXXXXXXo6o |
ap_secret: by78XXXXXXXvW4h |
}}} |
results in: |
{{{ |
ew7XXXXXXXXXXo6o~by78XXXXXXXvW4h |
}}} |
---- |
__DropBox Remote [VFS] settings__:\\ |
At line 37 changed 3 lines |
That entire string will serve as your ‘Username’ for Dropbox://.\\ |
Paste it into the Username field, then click ‘Get Access Token’ to complete the configuration.\\ |
[attachments|dropbox_vfs_before_setup.png]\\ |
Select the __DropBox__ item type and click the __Get Access Token__ button.\\ |
At line 41 changed 2 lines |
Grant access to CrushFTP in the newly displayed form..\\ |
[attachments|dropbox_allow_app.png]\\ |
[Dropbox Integration/dropbox_vfs_before_setup.png]\\ |
At line 44 changed one line |
The password should be filed in, and you can test the connection :\\ |
__⚠️ Important__: To obtain the __Refresh Token__, the CrushFTP WebInterface’s host and port must match the __Redirect URL__ specified in the __Dropbox Developer Portal__. In our example, it was: __https://your.crushftp.domain.com/__\\ |
\\ |
Enter the __App Key__ , __App Secret__. Proceed with the authentication and authorization process.\\ |
__⚠️ Important__: Be sure to sign in with the __Dropbox Account__ that has the __necessary permissions__, as configured in the __Dropbox Developer Portal__ (mentioned above). This will automatically configure the __User name__ and __Password__.\\ |
\\ |
[Dropbox Integration/dropbox_appKey_appSecret_form.png]\\ |
\\ |
Grant access to CrushFTP in the form that appears after authentication. Review the requested permissions and click __Allow__ (or the equivalent button) to authorize CrushFTP to access the necessary resources.\\ |
\\ |
[Dropbox Integration/dropbox_allow_app.png]\\ |
\\ |
This will automatically configure the __User name__ and __Password__:\\ |
At line 76 added 3 lines |
\\ |
__⚠️ Dropbox Business Accounts__:\\ |
__Dropbox Business User Email__: Enter the __email address of the team member__ associated with the Dropbox Business account. All Team Folders will be accessed on behalf of this user.\\ |