我可以使用gspread 包在我的 Mac 终端上运行的 Python 脚本中更新谷歌电子表格。
gc = gspread.login('username@domain.com','password')
gs = gc.open("Test Google Spreadsheet")
print gs.worksheets()
sht = gs.worksheet("Test Worksheet")
sht.update_cell(1, 1, "Test")
当我从云中的 CentOS 6 主机运行相同的脚本时,我能够通过打印 gs.worksheets(),这意味着身份验证不是问题,但我在更新命令上崩溃:
File "/mydir/myscript.py", line 30, in myfunc
sht.update_cell(1, 1, "Test")
File "my_ve_dir/lib/python2.7/site-packages/gspread/models.py", line 423, in update_cell
self.client.put_feed(uri, ElementTree.tostring(feed))
File "my_ve_dir/lib/python2.7/site-packages/gspread/client.py", line 250, in put_feed
raise ex
urllib2.HTTPError: HTTP Error 400: Bad Request
当我使用批量更新单元的方法时,它在 mac 上按预期工作,但在 CentOS 主机上静默失败(不引发任何异常)。
sht.update_cells(cell_list)
所以我想知道可能出了什么问题。我向其他端点发出了成功的 API 请求(包括 GET 和 POST),所以我对这里可能发生的事情感到困惑。任何想法将不胜感激。