Google Docs’ infamous "Moved Temporarily" error – fixed!
14 Jul 2011
I store quite a lot of info in Google Spreadsheets, for the obvious reasons:
- anyone can edit from any place, even at the same time
- the servers are more reliable than a server at the office
- I can use the info (with CSV/Excel export) in other programs through a web link
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“.