Создать документ Google Sheets в папке (не перемещая и не удаляя старый)

Я смотрю на:

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create

и во входном параметре запроса отсутствует параметр 'parent =[]' для создания листа Google.

sheets.spreadsheets.create(request, function(err, response) {
if (err) {
  console.error(err);
  return;
}

Можно ли указать родительский идентификатор папки, в которой я хотел бы создать свои листы Google?

1 ответ

Решение

Похоже, что когда вы создаете лист, parentId жестко запрограммирован на "root", и вы ничего не можете с этим поделать. Поэтому, после использования API листов, вам нужно будет использовать API дисков для перемещения листа (как предложено player0).

Пример кода сервера NodeJS, вставленного ниже

var sheets = google.sheets('v4'); //cannot create in drive folder yet
let sconf  =
 { 
   resource:{properties:{title:name}},
   auth:auth
 };

 sheets.spreadsheets.create(sconf, function(e,d)
 {
   if(e)
     done({success:false})
   else
   {
     let fileId = d.data.spreadsheetId;
     let move   =
     {
       addParents:    [folderId],
       removeParents: 'root',
       fileId:        fileId
     };

     //move the sheet out of the root folder
     const drive = google.drive({ version: 'v3', auth });
     drive.files.update(move, function(e,d)
     {
       ....
     });
Другие вопросы по тегам