Переход с Drive Activity API версии 1

В этом руководстве объясняются различия между API активности Google Диска версии 1 и версии 2, а также то, как изменить приложение версии 1 для поддержки API версии 2.

Авторизация

API v1 использовал эту область:

  • https://www.googleapis.com/auth/activity

Для API версии 2 требуется одна из следующих областей:

  • https://www.googleapis.com/auth/drive.activity
  • https://www.googleapis.com/auth/drive.activity.readonly

Имена ресурсов

В API версии 1 идентификаторы таких объектов, как элементы Google Диска и пользователи, представляли собой непрозрачные строки. В API версии 2 на эти объекты обычно ссылаются с использованием имен ресурсов. Дополнительную информацию см. в Руководстве по проектированию Cloud API .

Эти идентификаторы обычно можно преобразовать. Например, ссылки на элементы Диска в API версии 2 используются с использованием имени ресурса items/ ITEM_ID_V1 .

Запросы

Формат запроса для версии 2 аналогичен формату запроса для версии 1. В частности, вы по-прежнему можете запросить активность для файла Диска или предка Диска, однако учтите, что вы должны форматировать эти параметры запроса как имена ресурсов , добавляя к ним префикс items/ .

«Группировка» теперь называется « Консолидация» , а параметры запроса source и userId были удалены.

Также появились новые параметры фильтра , которые позволяют ограничить типы данных о действиях, возвращаемых в ответе.

Действия

В API версии 1 тип действия и данные, связанные с этим действием, находились в отдельных полях. Например, если поле primaryEventType содержит значение move , приложения будут предполагать, что поле move верхнего уровня заполнено добавленными и удаленными родительскими элементами.

В API версии 2 эти поля больше не различаются. Сообщение ActionDetail имеет ровно один набор полей. Он обозначает тип действия и содержит сведения, связанные с этим действием. Например, ActionDetail , представляющий перемещение, задает только поле move , и в этом поле перечислены добавленные и удаленные родительские элементы.

Поле primaryEventType API версии 1 примерно соответствует значению primaryActionDetail версии 2.

Актеры

В API версии 1 возвращаемое действие содержало User , если действующее лицо было известным пользователем, и при необходимости содержало поле верхнего уровня, такое как fromUserDeletion для особых случаев.

В API версии 2 доступен более богатый набор типов Actor , а user.knownUser заполняется, когда актер является известным пользователем. Если вашему приложению требуется подробная информация о пользователях, оно может запросить ее у People API , передав поле personName поля KnownUser методу people.get .

Цели

В API версии 1 целями всегда были элементы Диска. В API версии 2 целями могут быть объекты других типов на Диске. Например, изменения на диске имеют целевой тип Drive . Корневая папка общего диска по-прежнему возвращается (как DriveItem в root поле), но она не является непосредственной целью действия. Аналогичная концепция применяется к ресурсу FileComment , parent поле которого ссылается на элемент Диска, содержащий целевую ветку комментариев.

Консолидированная деятельность

В API версии 1 стиль ответа менялся при установке стратегии консолидации («группировки»). В частности, когда консолидация была включена, каждое действие содержало составляющие его singleEvents и combinedEvent , которое суммировало общие действия среди этих составляющих событий. Когда консолидация была отключена, поле combinedEvent содержало исходное неконсолидированное событие для каждого действия. Любое из этих событий может представлять собой более одного действия, например создание и совместное использование.

В API версии 2 стиль ответа не меняется в зависимости от стратегии консолидации, поскольку возвращаемый DriveActivity всегда содержит полный набор действующих лиц, целей и действий.