SAP Cloud Platform Open Connectors

Dropbox - Creating New File Links

In Dropbox, file links can only have one shared link at a time for a given file. This means if you generate a file link that has the default visibility of 'PUBLIC' then any subsequent calls to GET /files/{id}/links or GET /files/links will simply return the existing PUBLIC link rather than generating a new link. This is true even if you are trying to generate a new link with a different level of access such as visibility=TEAM_ONLY. Therefore if you need to create a new file link for any reason you will first need to revoke/delete the original file link and then generate a new file link.

Within the Dropbox connector, this is accomplished by:

  1. Create a new file link - in this example the link is generated based on the file path, but the same is true for links generated by file ID as well:
    GET /files/links
    { 
    "cloudElementsLink": "https://api.openconnectors.us2.ext.hana.ondemand.com/elements/api-v2/external/documents/files?key=XXXXXXXXXX", 
    "providerViewLink": "https://www.dropbox.com/s/XXXXXXXXXX/yourFile.pdf?dl=0", 
    "providerLink": "https://www.dropbox.com/s/XXXXXXXXXX/yourFile.pdf?dl=1"
    }
  2. Note that if you call GET /files/links again the same provider links will be returned. The cloudElementsLink url will be updated, but it will still point to the original provider link ID.
  3. Revoke this file link and confirm a successful 200 response.
    DELETE /files/links
  4. Now you can create a new file link.
    GET files/links
    { 
    "cloudElementsLink": "https://api.openconnectors.us2.ext.hana.ondemand.com/elements/api-v2/external/documents/files?key=YYYYYYYYYY", 
    "providerViewLink": "https://www.dropbox.com/s/YYYYYYYYYY/yourFile.pdf?dl=0", 
    "providerLink": "https://www.dropbox.com/s/YYYYYYYYYY/yourFile.pdf?dl=1"
    }