我一直试图让追加行示例现在运行几个小时而没有运气,我没有收到任何错误,但我的电子表格根本没有得到更新。
https://developers.google.com/sheets/samples/writing#append_values
function insertInSpreadSheet(sheetId, sheetService) {
var body = {
"range": "Sheet1",
majorDimension: "ROWS",
"values": [
["Item", "Cost", "Stocked", "Ship Date"],
["Wheel", "$20.50", "4", "3/1/2016"],
["Door", "$15", "2", "3/15/2016"],
["Engine", "$100", "1", "30/20/2016"],
["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
]
}
var params = {
spreadsheetId: sheetId,
"range": "Sheet1",
valueInputOption: "USER_ENTERED",
media: {
body: body
}
};
sheetService.spreadsheets.values.append(params, function(err, res) {
if(err){
console.log(err);
return;
}
console.log(res);
return;
});
}//end function
响应:
{
spreadsheetId: '1NvBbTlET7G5yhuuFF6zj-7LQUQ9TI85_geviRLuzCD0',
updates: {
spreadsheetId: '1NvBbTlET7G5yhuuFF6zj-7LQUQ9TI85_geviRLuzCD0',
updatedRange: 'Sheet1!A1'
}
}
我错过了什么吗?
修改
我的电子表格完全是空的
答案 0 :(得分:2)
Node.js客户端库期望在名为resource
的参数中请求的主体。请参阅以下示例:
sheets.spreadsheets.values.append({
spreadsheetId: spreadsheetId,
range: 'Sheet1',
valueInputOption: 'USER_ENTERED',
resource: body,
}, function (err, response) {
// ...
});
答案 1 :(得分:1)
我看到的唯一区别是该示例包含您要更新的工作表的范围:
"range": "Sheet1!A1:E1",
答案 2 :(得分:1)
对于Google API v4格式化您的请求应该有效:
requests.push({
appendCells: {
sheetId: 2063764471,
fields: '*',
rows: [{
values: [{ // First Row
userEnteredValue: {stringValue: "first row"}
}, {
userEnteredValue: {numberValue: 2}
}, {
userEnteredValue: {numberValue: 3}
}]
}]
}});
答案 3 :(得分:1)
答案对我来说不起作用......
// file comes from drive.files.list
// sheet comes from sheets.spreadsheets.get
const rows = [['1','2',3/* , ... */]];
const request = {
spreadsheetId: file.id,
range: sheet.title, // TODO: Update placeholder value.
valueInputOption: 'USER_ENTERED',
insertDataOption: 'INSERT_ROWS', // TODO: Update placeholder value.
resource: {
values: rows
}
};
sheets.spreadsheets.values.append(request, function (err, response) {
// ...