Just to give some resolution (and maybe a pointer for someone else).
I came back to the problem fresh and discovered that there is an unspoken assumption in the google spreadsheet api that the file being accessed is a native google spreadsheet. Once I changed my file creation to create that instead of a .xls file everything resolved itself.