Общие диски используют иные модели организации, совместного доступа и владения данными, чем «Мой диск». Поэтому некоторые операции в «Моем диске» не разрешены для содержимого общего диска.
В этом руководстве описаны различия в API, специфичные для общих дисков, в files и ресурсах changes .
Файловый ресурс
Следующие поля в ресурсе files заполняются только для файлов, расположенных на общем диске:
-
hasAugmentedPermissions: Предоставляется ли каким-либо пользователям прямой доступ к этому файлу. -
capabilities/canAddFolderFromAnotherDrive: Позволяет ли текущий пользователь добавлять папку с другого диска (другого общего диска или «Мой диск») в эту папку. -
capabilities/canDeleteChildren: Позволяет ли текущий пользователь удалять дочерние файлы этой папки. -
capabilities/canMoveChildrenOutOfDrive: Позволяет ли текущий пользователь перемещать дочерние элементы этой папки за пределы общего диска. -
capabilities/canMoveChildrenWithinDrive: Позволяет ли текущий пользователь перемещать дочерние файлы этой папки в пределах общего диска. -
capabilities/canMoveItemWithinDrive: Позволяет ли текущий пользователь перемещать этот элемент общего диска внутри общего диска. -
capabilities/canReadDrive: Указывает, имеет ли текущий пользователь права на чтение общего диска, к которому принадлежит этот файл. -
capabilities/canTrashChildren: Позволяет ли текущий пользователь удалять дочерние файлы из этой папки. -
driveId: Идентификатор общего диска, на котором находится файл. -
trashingUser: Если файл был явно удален, указывается пользователь, который это сделал. -
trashedTime: Время удаления элемента. Если вы используете более старую версию API Google Drive 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: Обновленное состояние общего диска. Отображается, еслиchangeTypeимеет значениеdrive, и пользователь по-прежнему является участником общего диска.
Для приложений, которым необходимо синхронизировать контент с общими дисками или отслеживать активность, могут потребоваться дополнительные изменения. Подробнее см. раздел «Отслеживание изменений для пользователей и общих дисков» .