首页 文章

Google表格API Python - 清除表格

提问于
浏览
0

我想不断更新/重写Google表格 . 但是,我不能只更新它,而不清除旧表,因为有时更新的行数较少,而前一行和旧行都留在工作表中 .

因此,developer page上列出的协议是:

{
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": sheetId
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

转换为python看起来像这样,我想:

requests = [{ 'updateCells': { 'range': { 'sheetId': spreadsheet_id }, 'fields': 'userEnteredValue' } }]

body = { 'requests': requests }
spreadsheet_id='[uniqueIDhere]'

result = service.spreadsheets( ).values( ).batchUpdate(spreadsheetId=spreadsheet_id, body=body ).execute( )

哪个返回错误:

googleapiclient.errors.HttpError:https://sheets.googleapis.com/v4/spreadsheets/ [unitIDhere] /values:batUpdate?alt = json返回“收到的JSON有效负载无效 . 未知名称”请求“:找不到字段 . ”>

似乎很奇怪“请求”无效,因为它在协议中列出 . 无论如何,还有其他人让这个工作吗?谢谢 . - 杰森

2 回答

  • 3
    result = service.spreadsheets( ).values( ).batchUpdate(...
    

    应该:

    result = service.spreadsheets( ).batchUpdate(...
    

    我花了很长时间才注意到我的代码中的同样错误......

  • 1

    找到了不同的method

    rangeAll = '{0}!A1:Z'.format( sheetName )
    body = {}
    resultClear = service.spreadsheets( ).values( ).clear( spreadsheetId=spreadsheet_id, range=rangeAll,
                                                           body=body ).execute( )
    

    这很好用 . 仍然想知道为什么requests-updateCells协议不起作用 .

相关问题