403,If-Match或If-None-Match标头或条目etag属性需要

时间:2013-11-28 16:09:26

标签: python gdata google-oauth google-spreadsheet-api google-apps-marketplace

背景资料

我正在使用python gdata spreadsheet-apiOAuth2.0certificate credentials访问Google Apps应用域中的数据

我正在尝试使用

在电子表格中插入一行
spreadSheetClient = SpreadsheetsClient()
# Certificate Authentication  ....
spreadSheetClient.add_list_entry(list_entry=list_entry, spreadsheet_key=spreadSheetKey,
                                                     worksheet_id=workSheetId)

其中list_entrygdata.spreadsheets.data.ListEntry的实例,而spreadsheetKeyworksheetIdstr的实例

我收到以下错误

  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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

ListFeed追加行,而不是插入行,列想要列标题(我认为标题是必需的)。

有关如何使用列表供稿的示例,请查看http://gdata-java-client.googlecode.com/svn-history/r51/trunk/java/sample/spreadsheet/list/ListDemo.java

我没有经常使用列表提要,但感觉非常像使用SQL,过滤/追加等等。我倾向于使用Cell Feed。