我尝试使用Google表格API复制表格。我已经成功地阅读和编写了变量,但我仍然坚持使用DuplicateSheetRequest
代码batchUpdate()
。我的代码如下所示:
requests = []
requests.append({
"DuplicateSheetRequest": {
"sourceSheetId": sheet_id_source,
"insertSheetIndex": target_index,
"newSheetId": 123456,
"newSheetName": destination_sheet_name
}
})
body = {
'requests': requests
}
response = service.spreadsheets().batchUpdate(spreadsheetId=spreadsheetId,
body=body).execute()
当我执行代码时,出现错误:
https://sheets.googleapis.com/v4/spreadsheets/ [sheet ID redacted]:batchUpdate?alt = json返回"收到的JSON有效负载无效。未知名称" duplicate_sheet_request" at'要求[0]':找不到字段。">
错误是"duplicate_sheet_request"
而我的代码是DuplicateSheetRequest
,这真是奇怪。 (我还测试了一些我知道错误的东西,例如"DuplicateSheetRequestsss"
,它变成了"duplicate_sheet_requestsss"
)。我不知道为什么变量名称正在追逐,尽管我倾向于认为这是一个红色的鲱鱼。
我能找到的最接近的是this Google Groups issue,这表明我尝试使用的方法可能不允许使用服务帐户,但我可能会误读该线程。
答案 0 :(得分:1)
问题是我要查找的批量更新方法应该是duplicateSheet
,而不是DuplicateSheetRequest
:
requests.append({
"duplicateSheet": {
"sourceSheetId": sheet_id_source,
"insertSheetIndex": target_index,
#"newSheetId": 123456,
"newSheetName": destination_sheet_name
}
})
嘎嘎嘎嘎。