2017-02-01 17 views
0

私は常にGoogleシートに更新/再書き込みしたいと思います。しかし、古いシートをクリアすることなく、ただちに更新することはできません。たまに更新の行数が少なくなり、以前の行と古い行がシートに残ります。GoogleシートAPI Python - クリアシート

developer pageに記載されているプロトコルは、このようです:

のpythonに翻訳
{ 
    "requests": [ 
    { 
     "updateCells": { 
     "range": { 
      "sheetId": sheetId 
     }, 
     "fields": "userEnteredValue" 
     } 
    } 
    ] 
} 

は次のようになり、私は思う:

エラーを返し
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/[uniqueIDhere]/values:batchUpdate?alt=json returned "無効なJSONペイロードが受信されました。不明な名前の"要求 ":フィールドを見つけることができません」>

「リクエスト」はプロトコルの右側に記載されているとおり無効です。とにかく、他の誰かがこれを働かせますか?ありがとう。 - ジェイソン

答えて

2

は異なるmethodが見つかりました:

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

これはうまく動作します。依然としてrequests-updateCellsプロトコルが動作しない理由が不思議です。

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

は次のようになります。

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

は...私のコードで同じ過ちに気づくには余りにも長い

を連れて行ってくれました
関連する問題