Python Google电子表格API:duplicateSheet:没有ID为的工作表
我正在尝试使用Python Google电子表格API:duplicateSheet:没有ID为的工作表,python,google-sheets,google-api-python-client,Python,Google Sheets,Google Api Python Client,我正在尝试使用duplicateSheet请求,使用batchUpdate()方法复制工作表: body['requests'] = [ { "duplicateSheet": { "newSheetName": date_today(), "sourceSheetId": int(sheet_number) } } ] sheet = service.spreadsheets() request
duplicateSheet
请求,使用batchUpdate()
方法复制工作表:
body['requests'] = [
{
"duplicateSheet": {
"newSheetName": date_today(),
"sourceSheetId": int(sheet_number)
}
}
]
sheet = service.spreadsheets()
request = sheet.batchUpdate(spreadsheetId=spreadsheetId,
body=requestBody)
response = request.execute()
但我收到了这个错误信息:
googleapiclient.errors.HttpError: <HttpError 400 when requesting https://sheets.googleapis.com/v4/spreadsheets/xxxxxxxxxx_xxxxxxxx-xxxxxxx:batchUpdate?alt=json returned "Invalid requests[0].duplicateSheet: No sheet with id: 3">
在
“sourceSheetId”
中使用的工作表ID为。工作表ID可以通过sheets.spreadsheets.get
检索Python,通过getSheetId()
检索GAS。示例脚本如下所示
Python示例
气体样品
在
“sourceSheetId”
中使用的工作表ID为。工作表ID可以通过sheets.spreadsheets.get
检索Python,通过getSheetId()
检索GAS。示例脚本如下所示
Python示例
气体样品
最终使用了此代码(感谢我的同事):
最终使用了此代码(感谢我的同事):
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getIndex();
sheet = service.spreadsheets()
request = sheet.get(
spreadsheetId=spreadsheetId,
fields="sheets(properties(sheetId,title))")
response = request.execute()
var res = [
[i.getSheetId(), i.getSheetName()]
for each (i in SpreadsheetApp.getActiveSpreadsheet().getSheets())
];
meta = service.spreadsheets().get(spreadsheetId=SPREADSHEET_ID).execute()
sheets = meta.get("sheets", {})
for sheet in sheets:
sheet_index = sheet.get("properties", {}).get("index")
sheet_id = sheet.get("properties", {}).get("sheetId")
if (sheet_index == index):
return sheet_id