Разница между общим диском и API «Моего диска»

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

В этом руководстве описываются различия в files и ресурсах API, характерные для общих дисков, и changes ресурсы.

Файловый ресурс

Следующие поля в ресурсе files заполняются только для файлов, расположенных на общем диске:

  • hasAugmentedPermissions : Предоставляется ли пользователям прямой доступ к этому файлу.
  • capabilities/canAddFolderFromAnotherDrive : может ли текущий пользователь добавлять папку с другого диска (другого общего диска или «Моего диска») в эту папку.
  • capabilities/canDeleteChildren : Может ли текущий пользователь удалять дочерние элементы этой папки.
  • capabilities/canMoveChildrenOutOfDrive : Может ли текущий пользователь перемещать дочерние элементы этой папки за пределы общего диска.
  • capabilities/canMoveChildrenWithinDrive : Может ли текущий пользователь перемещать дочерние элементы этой папки на общем диске.
  • capabilities/canMoveItemWithinDrive : может ли текущий пользователь перемещать этот элемент общего диска внутри общего диска.
  • capabilities/canReadDrive : Имеет ли текущий пользователь право на чтение к общему диску, к которому принадлежит этот файл.
  • capabilities/canTrashChildren : Может ли текущий пользователь удалять дочерние элементы этой папки.
  • driveId : идентификатор общего диска, на котором расположен файл.
  • trashingUser : Если файл был явно удален, укажите пользователя, который его удалил.
  • trashedTime : время удаления элемента. Если вы используете старую версию Drive API v2, это поле называется trashedDate .

Следующие поля не заполняются для файлов, расположенных на общем диске:

  • permissions : Из-за потенциального размера списков управления доступом (ACL) к общим дискам разрешения не возвращаются как часть файлов. Используйте метод permissions.list , поддерживающий разбиение на страницы, чтобы вывести список разрешений для файла на общем диске или в папке общего диска.
  • owners , ownerNames , ownedByMe : файлы на общем диске принадлежат общему диску, а не отдельным пользователям.
  • folderColorRgb : Папки нельзя раскрашивать по отдельности.
  • shared : все элементы на общем диске являются общими.
  • writersCanShare : На общих дисках невозможно ограничить общий доступ по ролям.

Следующие поля задаются только в том случае, если пользователю предоставлены разрешения на доступ к файлу для элемента:

  • sharedWithMeDate
  • sharingUser

Следующие поля требуют особого внимания при использовании их с общими дисками:

  • parents.isRoot : это поле имеет значение true только для корневой папки «Мой диск»; для папки верхнего уровня общего диска оно имеет значение false.
  • parents : родительский элемент не отображается в списке родителей, если запрашивающий пользователь не является участником общего диска и не имеет к нему доступа. Кроме того, за исключением папки верхнего уровня, родительский элемент должен содержать ровно один элемент, если файл находится на общем диске.

  • capabilities/canRemoveChildren : Используйте capabilities/canDeleteChildren или capabilities/canTrashChildren .

Изменить ресурс

В ресурсе changes для общего диска доступны следующие новые поля:

  • changeType : Тип изменения. Возможные значения: file и drive .
  • driveId : идентификатор общего диска, связанного с этим изменением.
  • drive : обновленное состояние общего диска. Присутствует, если changeTypedrive , а пользователь всё ещё является участником общего диска.

Для приложений, которым необходимо синхронизировать контент с общими дисками или отслеживать активность, могут потребоваться дополнительные изменения. Подробнее см. в разделе Отслеживание изменений для пользователей и общих дисков .