403, If-Match or If-None-Match header or entry etag attribute required

匿名 (未验证) 提交于 2019-12-03 10:10:24

问题:

Background Info

I am Using python gdata spreadsheet-api with OAuth2.0 and certificate credentials to access data in a google apps domain

I am trying to insert a row into a spreadsheet using

spreadSheetClient = SpreadsheetsClient() # Certificate Authentication  .... spreadSheetClient.add_list_entry(list_entry=list_entry, spreadsheet_key=spreadSheetKey,                                                      worksheet_id=workSheetId)

where list_entry is an instance of gdata.spreadsheets.data.ListEntry and spreadsheetKey and worksheetId are instances of str

I am getting the following error

  File "/home/gautam/Projects/osflow/build/runtime/gdata/spreadsheets/client.py", line 450, in update_cell     **kwargs)   File "/home/gautam/Projects/osflow/build/runtime/gdata/client.py", line 730, in update     desired_class=entry.__class__, **kwargs)   File "/home/gautam/Projects/osflow/build/runtime/gdata/client.py", line 319, in request     RequestError) RequestError: Server responded with: 403, If-Match or If-None-Match header or entry etag attribute required

How do I fix this ?

回答1:

ListFeed appends rows, rather than inserts them and columns want a column header (I think the header is required).

For an example of how to use list feed, look at http://gdata-java-client.googlecode.com/svn-history/r51/trunk/java/sample/spreadsheet/list/ListDemo.java

I have not used list feed that often, but it feels very much like using SQL, where you filter/append etc. I tend to use Cell Feed instead.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!