使用PHP,我们不清楚Google Sheets API v4 documentation如何在现有电子表格中创建新工作表(又名“制表符”)。
奇怪的是,我可以通过API Explorer使用batchUpdate来完成它,但是他们没有解释如何在PHP中执行此操作。
答案 0 :(得分:8)
看起来文档说我们必须使用来自$service->spreadsheets_values
集合的batchUpdate。但这是不正确的。它应该是$service->spreadsheets
集合。经过大量试验和错误后的正确答案是:
try {
$body = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest(array(
'requests' => array(
'addSheet' => array(
'properties' => array(
'title' => 'New Sheet'
)
)
)
));
$result1 = $service->spreadsheets->batchUpdate($sSpreadsheetID,$body);
} catch(Exception $ignore) {}
鉴于您已经对API进行了身份验证以获取$client
对象,然后使用它来获取类$service
的{{1}}对象,并且已经指定了Google_Service_Sheets
1}}到您的电子表格的ID,然后上面的例程将尝试向您的电子表格添加一个名为' New Sheet'不破坏任何现有的,如果此选项卡已存在,则不会显示错误。此时,您可以使用A1 Notation
答案 1 :(得分:2)
这是使用Node.js客户端的方法:
const gsapi = google.sheets({version: 'v4', auth: client})
const options = {
spreadsheetId: 'YOUR ID IS EVERYTHING BETWEEN /d/ and /edit on your spreadsheets URL'
}
const res = await gsapi.spreadsheets.batchUpdate({
spreadsheetId: options.spreadsheetId,
requestBody: {
requests: [{
addSheet: {
properties: {
title: table,
}
}
}]
}
})
console.log(res)
答案 2 :(得分:2)
看看这个
boolean