谷歌电子表格API:重复表:没有ID为的工作表

2024-10-02 08:29:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用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()

但我收到了一条错误信息:

^{pr2}$

但是床单上有这个床单。使用以下JS代码确认了工作表的ID:

SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getIndex();

Tags: 方法numbertodaydaterequestbodyrequestssheet
2条回答

最后使用了这个代码(感谢我的同事):

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

"sourceSheetId"处使用的工作表ID是^{}。对于Python,sheets.spreadsheets.get和GAS的getSheetId()可以检索表ID。示例脚本如下所示。在

Python

示例
sheet = service.spreadsheets()
request = sheet.get(
    spreadsheetId=spreadsheetId,
    fields="sheets(properties(sheetId,title))")
response = request.execute()

气体样品

^{pr2}$

相关问题 更多 >

    热门问题