Google Docs’ infamous "Moved Temporarily" error – fixed!


I store quite a lot of info in Google Spreadsheets, for the obvious reasons:

But there is a problem popping up at random moments with that last export or ‘publish’ functionality. Sometimes when you download the published link of a CSV export (through curl), you get an error ‘Moved Temporarily – The document has moved‘ with a redirect to a www.google.com address. And if you don’t follow HTTP 302 redirects, you can’t get to the actual content. In the past I’ve always worked around it or waited until the error went away, but today I searched a bit further. So for those who have the same question: read and learn!

The redirect is actually for authentication. Although I publish without requiring signing in, so one would expect no authentication process, there actually is one. See what it does (I used wget in verbose mode to get the HTTP headers):

>:~$ wget -v "https://spreadsheets.google.com/(...)&output=csv"
-- https://spreadsheets.google.com/(...)&output=csv
(...)
Location: https://www.google.com/... (first redirect)
-- https://www.google.com/(...)/ServiceLogin?=...
(...)
Location: https://spreadsheets.google.com/... (second redirect)
-- https://spreadsheets.google.com/(...)&output=csv&ndplr=1
(...)
Saving to: ...

So what is the solution: just add “&ndplr=1” to your URL and you will skip the authentication redirect. I’m not sure what the NDPLR parameter name stands for, let’s just call it: “Never Do Published Link Redirection“.

💬 Google 🏷 api 🏷 csv 🏷 docs 🏷 export 🏷 Google 🏷 publish 🏷 spreadsheet