Хобрук: Ваш путь к мастерству в программировании

Google Диск - Получите rootFolder ID по электронной почте пользователя

Мы хотим разместить копии материалов нашей школы в собственных папках «Мой диск» учащихся.

Приведенный ниже сценарий работает хорошо и красиво помещает ссылку на исходную папку в папку учеников «Доступные мне».

function setPermissions(){
var id = "SOURCE_FOLDER_ID"
var firstGet = DriveApp.getFolderById(id)
var folder = firstGet.getId()

 Drive.Permissions.insert(
 {
 'role': 'writer',
 'type': 'user',
 'value': 'TARGET_USER_EMAIL',
  }, 
 folder,
       {
       'sendNotificationEmails': 'false'       
      });
}

Однако это молодые студенты примерно 8 или 9 лет, и мы хотим, чтобы папки проектов, которые мы создали, попадали в их папку «Мой диск» без дальнейшего щелчка со стороны ученика.

Я знаю, что мы можем использовать addFolder (), чтобы поместить папки в корневую папку Google Диска учащегося.

Однако это означает знание идентификатора корневой папки учащегося.

Кто-нибудь знает, как я могу получить идентификаторы корневых папок учащихся, перебирая их адреса электронной почты?

Google имеет документацию о том, как получить доступ к текущим пользователям. папка, но я хочу получить идентификаторы корневых папок всех учеников в классе.

Или я неправильно к этому подхожу?


Ответы:


1

Если вы вставляете разрешения - Drive.Permissions.insert() - вы предоставляете общий доступ к файлу, поэтому местоположение по умолчанию будет «Доступные мне», поэтому вам нужно будет переместить файл после того, как вы поделитесь им.

Альтернативный подход, который, я думаю, вы хотите от своего вопроса, - использовать Drive.Files.copy(), который поместит копию, если элемент в папку, указанную в свойстве parents[]. Если не указать массив parents[] в теле запроса, в качестве пункта назначения будет использоваться корень Google Диска.

21.07.2016
Новые материалы

Учебные заметки JavaScript Object Oriented Labs
Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

Разбор строк запроса в vue.js
Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
«Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..