我遵循了指南中的參考代碼 - https://developers.google.com/sheets/api/guides/values。但是,當(dāng)我調(diào)用 batchUpdate() 時,我收到錯誤消息“收到無效的 JSON 負(fù)載?!?dāng)?shù)據(jù) [0]’ 處的未知名稱‘范圍’:Proto 字段不重復(fù),無法啟動列表”。關(guān)于什么可能是錯誤的以及如何解決它的任何建議?# Preparing data to be written back to sheetdata = [ { 'range': range_name, 'values': values },]body = { 'valueInputOption': "USER_ENTERED", 'data': data,}request = service.spreadsheets().values().batchUpdate(spreadsheetId=SPREADSHEET_ID, body=body)response = request.execute()“身體”的內(nèi)容={'valueInputOption': 'USER_ENTERED', 'data': [{'range': ['!B251:I251', '!B252:I252', '!B254:I254', '!B256:I256'], 'values': "[['2020-06-04', 2, '123456789098765421abcdefg', '', 'test1', 1, None, 1], ['2020-06-04', 1, '123456789098765421abcdefg', '', 'test2', -1, None, 1], ['2020-06-04', 2, '123456789098765421abcdefg', '', 'test1', 3, None, 1], ['2020-06-04', 1, '123456789098765421abcdefg', '', 'test9', 4, None, 1]]"}]}我的代碼從指南中,values = [ [ # Cell values ... ], # Additional rows]data = [ { 'range': range_name, 'values': values }, # Additional ranges to update ...]body = { 'valueInputOption': value_input_option, 'data': data}result = service.spreadsheets().values().batchUpdate( spreadsheetId=spreadsheet_id, body=body).execute()print('{0} cells updated.'.format(result.get('totalUpdatedCells')))然而,錯誤消息似乎表明參數(shù)“范圍”未知?
1 回答

白豬掌柜的
TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個贊
幾件事:
您正在嘗試傳遞range范圍和范圍數(shù)組,而該方法期望每個項(xiàng)目有一個范圍,正確的請求將是:
"data": [
{
"range1": "",
"values1": []
},
{
"range2": "",
"values2": []
}
]
您使用None空值 - 相反,您需要在逗號之間留一個空格:(1,2, ,4如果您想將其作為字符串傳遞,則None用引號引起來"
JSON 對象需要雙引號"而不是單引號'來表示值和范圍符號
我建議您在實(shí)施到 Python 之前使用試用此 API功能測試您的請求語法。
添加回答
舉報
0/150
提交
取消