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

时间:2017-01-03 14:26:30

标签: google-sheets-api

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

2 个答案:

答案 0 :(得分:3)

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

其中一个请求的形式为: {{3}}

例如,为了添加一个名为" 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);
});

答案 1 :(得分:2)

我使它可以使用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()

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

上面的不是与表单中的值的批量更新相混淆:

result = service.spreadsheets().values().batchUpdate(
spreadsheetId=SPREADSHEET_ID,
body=body).execute()

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