my half-arsed attempt at blogging
cURL and Google Spreadsheets
I failed to find a good example of something that worked to pull a spreadsheet from google-docs using cURL. All that I found didn’t work, in one shape or another.
A bit of playing, and quite a bit of reading got this
#!/bin/bash
PASS=`cat /path/to/0600/google-password-file`
SHEET="https://spreadsheets.google.com/feeds/download/spreadsheets/Exportkey=addyourownsheetIDhere&exportFormat=csv&gid="
AUTH_TOKE=`curl --silent https://www.google.com/accounts/ClientLogin -d \
Email=foo@example.org -d \
Passwd=${PASS} -d \
accountType=HOSTED -d \
source=cURL-SpreadPull -d \
service=wise | grep Auth\= | sed 's/Auth/auth/'`
curl --silent --output /path/to/file --header "GData-Version: 3.0" --header "Authorization: GoogleLogin ${AUTH_TOKE}" "${SHEET}${TAB}"
seemed to do the trick
Exportkey could be defined in the script, as a variable, thinking about it. You’ll need to supply that; I typically grab it from the web-based URI, but there is a warning in the docs about that:
To determine the URL of a cell-based feed for a given worksheet, get the worksheets metafeed and examine the <link> element in which rel is http://schemas.google.com/spreadsheets/2006#cellsfeed. The href value in that element is the cell feed’s URI.
YMMV.
I’ve added in &exportFormat=csv&gid= because I wanted CSV outputs, and gid’s value is provided via a for … and case deviation.
--header "GData-Version: 3.0" was needed to avoid the redirection.
Hopefully, this might be of benefit — as a working (when written) example of using curl and google docs/google spreadsheets.
| Print article | This entry was posted by adam on 2011: December 6 (Tuesday) at 19:06, and is filed under bash, curl, google-docs, scripts. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |
