Googleの公式ドキュメントに従って、Python 3でさまざまなシートの値を読み書きしようとしています。rangeName = 'Class Data!A2:E'
以下のコードブロックで範囲プロパティを使用して特定のシートから値を読み取ることはできますが:
discoveryUrl = ('https://sheets.googleapis.com/$discovery/rest?'
'version=v4')
service = discovery.build('sheets', 'v4', http=http,
discoveryServiceUrl=discoveryUrl)
spreadsheetId = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'
rangeName = 'Class Data!A2:E'
result = service.spreadsheets().values().get(
spreadsheetId=spreadsheetId, range=rangeName).execute()
values = result.get('values', [])
そして、ここのサンプルコードを使用して値を書き込もうとしています:
requests.append({
'updateCells': {
'start': {'sheetId': 0, 'rowIndex': 0, 'columnIndex': 0},
'rows': [
{
'values': [
{
'userEnteredValue': {'numberValue': 1},
'userEnteredFormat': {'backgroundColor': {'red': 1}}
}, {
'userEnteredValue': {'numberValue': 2},
'userEnteredFormat': {'backgroundColor': {'blue': 1}}
}, {
'userEnteredValue': {'numberValue': 3},
'userEnteredFormat': {'backgroundColor': {'green': 1}}
}
]
}
],
'fields': 'userEnteredValue,userEnteredFormat.backgroundColor'
}
})
batchUpdateRequest = {'requests': requests}
service.spreadsheets().batchUpdate(spreadsheetId=spreadsheet_id,
body=batchUpdateRequest).execute()
私が直面している問題は、公式ドキュメントから最新のシート名または ID を保持できず、最新の API リビジョンがランダムな gid を作成しているためです (シート gid が何であるかがわからない場合があります)。GoogleシートAPI v4を使用して、シートまたはスプレッドシートの最新の改訂されたシート名またはIDのリストを参照する方法はありますか?