Подтвердить что ты не робот

Как получить список листов (имя и "gid" ) в электронной таблице Google с помощью Drive API?

Я пытаюсь использовать API Диска Google (Python), чтобы загрузить некоторые вкладки файла электронных таблиц. Являются ли сведения о gid в метаданных файла? То, что я пытаюсь сделать (это может быть неверно, пожалуйста, предложите:)):

file_metadata = self.service.files().get(file_id=file_id).execute()
# in the following line, how can I get a download url with a gid (a tab in a spreadsheet file)
download_url = file_metadata.get('exportLinks')['text/csv']
# download the file.

Спасибо:)

4b9b3361

Ответ 2

Вы можете сделать это, используя службу электронных таблиц в Google Apps Script. Это не так удобно, как наличие прямого вызова API, но, по крайней мере, это возможно:

  • Вызвать метод SpreadsheetApp.openById(id), чтобы открыть таблицу с помощью Диска file_id.
  • Вызвать метод Spreadsheet.getSheets() для извлечения списка объектов Sheet.
  • Для каждого листа вызовите Sheet.getSheetId() и Sheet.getSheetName(), чтобы получить имя (это то, что видит пользователь электронной таблицы) и sheetId (это то, что должно быть указано в параметре gid= при экспорте).

Вы можете использовать недавно объявленный Apps Script Execution API, чтобы предоставить API REST для вашего приложения Script, который вы можете вызвать аналогично API Drive.