Как получить событие смены общего диска (например, переименовать диск, добавить или удалить участника и т. Д.) С помощью google drive webhook? - PullRequest
1 голос
/ 10 июля 2019

Я использую Google Drive API v3 для загрузки файла с диска Google. Я получил метаданные общего диска с информацией о файлах. Я реализовал Webhook, чтобы получать уведомления об изменениях во всех файлах, а также об изменениях, связанных с общим диском (например, добавление или удаление участника, переименование диска и т. Д.). Как упомянуто в этой ссылке https://developers.google.com/drive/api/v3/reference/changes#resource ссылка Ответ webhook содержит только ресурс / элемент, который изменился. Это не дает конкретного представления о том, какого рода изменения произошли. Согласно документации Google Drive, Google Drive ведет журнал изменений для каждого пользователя и общего диска. Кто-нибудь может дать мне идею получить конкретное имя события (например, добавление или удаление участника, переименование диска и т. Д.)? Пожалуйста, помогите мне решить эту проблему. Заранее спасибо.

1 Ответ

1 голос
/ 10 июля 2019

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

{
  "kind": "drive#changeList",
  "nextPageToken": string,
  "newStartPageToken": string,
  "changes": [
    changes Resource
  ]
}

A изменить ресурс не содержит никакой информации о том, кому был предоставлен доступ к файлу

{
  "kind": "drive#change",
  "type": string,
  "changeType": string,
  "time": datetime,
  "removed": boolean,
  "fileId": string,
  "file": files Resource,
  "teamDriveId": string,
  "driveId": string,
  "teamDrive": teamdrives Resource,
  "drive": drives Resource
}

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

...