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:
- 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" }
- 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.
- Revoke this file link and confirm a successful 200 response.
DELETE /files/links - 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" }