如何通过Google表格API向现有工作表添加新标签?

Ode*_*adt 6 google-sheets-api

我尝试阅读api文档,但未能找到执行有关选项卡存在的查询的指示,并创建一个选项卡(如果不存在).有人有线索吗?

小智 8

我使用 Python 3 让它工作。我对用于值与电子表格的 batchUpdate 方法感到困惑,所以一旦我纠正了这个问题,工作表就成功创建了。这是工作片段:

body = {
'requests': [{
    'addSheet': {
        'properties': {
            'title': write_sheet_name,
            'tabColor': {
                'red': 0.44,
                'green': 0.99,
                'blue': 0.50
            }
        }
    }
}]
}

result = service.spreadsheets().batchUpdate(
    spreadsheetId=SPREADSHEET_ID,
    body=body).execute()
Run Code Online (Sandbox Code Playgroud)

请参阅https://developers.google.com/sheets/api/guides/batchupdate

不要将上述内容与工作表中值的批量更新相混淆:

result = service.spreadsheets().values().batchUpdate(
spreadsheetId=SPREADSHEET_ID,
body=body).execute()
Run Code Online (Sandbox Code Playgroud)

有关值的批量更新,请参阅https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values


Ode*_*adt 6

显然可以使用batchUpdate:https : //developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate

其中一个请求采用以下形式:https : //developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#AddSheetRequest

例如,为了添加一个名为“FOO”的新空表,可以像这样发送一个batchUpdate:

sheets.spreadsheets.batchUpdate(
    {
        auth: authClient,
        spreadsheetId: spreadsheetId,
        resource: {
            requests: [
                {
                    'addSheet':{
                        'properties':{
                            'title': 'FOO'
                        }
                    } 
                }
            ],
        }
    },
    function(err, response) {
        if (err) return callback('The API returned an error: ' + err);
        console.log("success: ", response);
});
Run Code Online (Sandbox Code Playgroud)