Friday, March 2, 2018

Gotchas when downloading PDFs from Zoho Creator using Node JS

I spent a confusing 90 minutes trying to figure out how to download PDFs from Zoho Creator from a Node JS API. (Backstory is that I wanted to be able to email a Zoho Creator HTML page as a PDF attachment to customers).

There are two gotchas I discovered:

1. There is a 302 redirect from the URL that Zoho gives you in their documentation (e.g. to a URL like this:

You either have to use followRedirects or use the second URL.

2. Zoho Creator won't actually give you a real PDF unless you supply a realistic user agent. I spent a good hour trying to figure out why I kept getting 0 bytes back when downloading the PDF from my code. The solution was to pretend to be a browser to get the PDF.