Saturday, February 17, 2018

How To Automatically Upload a Zoho File Attachment to Dropbox from Zoho Creator using Dropbox API v2 and Zoho postUrl

I'm an idiot, so this took about 6 hours for me to figure out, but apparently many people have not been able to figure this out, and I could not find a complete and working solution online anywhere.

If you want to be able to upload a file to Dropbox from Zoho Creator, you have to create a custom function like below (here I called the function "Dropbox", under namespace "Create"). In the function, the ID is being passed to it from the underlying form entry.

void Create.Dropbox(int id)
{
url = "https://api.dropboxapi.com/2/files/save_url";
headers = {"Authorization":"Bearer XXXXX","Content-Type":"application/json"};
data = {"path":"/FFFF/TTTT.XXX","url":"YYYY"};
datastring = data.toString();
response = postUrl(url,datastring,headers,false);
}


... where XXXXX is your secret Dropbox Token, and YYYY is the url of the file you are uploading, and FFFF is the Dropbox folder to which the file is being uploaded, TTTT is the desired filename, and XXX is the desired extension.

This uses v2 of the Dropbox API. You can get your Dropbox token and use the very helpful Dropbox API  Explorer here:

https://dropbox.github.io/dropbox-api-v2-explorer/#files_save_url

The key thing that was difficult to figure out and is not well documented is that the function toString() is necessary because Dropbox is expecting JSON and although the variable "data" above looks like JSON, it is not.
Post a Comment

My piece on my experience with the healthcare system as an Emergency Medicine physician

My piece on the challenges and failures of the US healthcare system is being featured on the front page of Medium today. Would love to hear...