Таблицы Google создаются и загружаются в выбранную пользователем папку на диске Google.

Я пытаюсь настроить следующий поток.

  1. Пользователь нажимает на кнопку.
  2. Кнопка запускает команду Google Picker «Выбрать папку на диске»
  3. После выбора папки возвращается идентификатор папки
  4. gapi.client.sheets.spreadsheets.create метод срабатывает. Создается электронная таблица, которая заполняется определенными пользовательскими данными.
  5. Электронная таблица отправляется в выбранную пользователем папку.

Я видел, как это реализовано в Google Apps Script, поэтому знаю, что это возможно.

Пока у меня есть:

    var docsView = new google.picker.DocsView()
        .setIncludeFolders(true)
        .setMimeTypes('application/vnd.google-apps.folder')
        .setSelectFolderEnabled(true);


    var picker = new google.picker.PickerBuilder()
        .addView(docsView)
        .setOAuthToken(this.oauthToken)
        .setDeveloperKey(developerKey)
        .setCallback(this._pickerCallback)
        .build();

    picker.setVisible(true);

Что позволяет пользователю выбрать папку и возвращает информацию/идентификатор папки.

Тогда у меня есть этот метод:

     gapi.client.sheets.spreadsheets.create({
        "properties": {
            "title": title,
        },
        "sheets": [
            sheet1,
            sheet2,
            sheet3,
        ]
    }).then(function(response) {
        console.log(response);
    });

Что создает электронную таблицу Google. К сожалению, он автоматически загружается на диск.

Как и где в этом процессе я могу указать папку для загрузки электронной таблицы?


comment
Поскольку файл уже находится в корне диска, попробуйте использовать Вставка файла в папку руководство. Вы сделаете это, передав идентификатор родительской папки, в которой вы хотите сохранить файл.   -  person noogui    schedule 02.05.2017


Ответы (1)


Возможно, вы захотите переключиться на Google Drive API и использовать gapi.client.drive.

В этом случае ваш метод должен выглядеть примерно так

gapi.client.drive.files.create({

    'resource' : {
                   'name' : 'mySpreadSheet',
                   'mimeType': 'application/vnd.google-apps.spreadsheet',
                   'parents': ['folderId']
                 }

}).then(function(response) {
    console.log(response);
});
person Roman Gherta    schedule 11.09.2017