Я использую Google Api v3 (библиотеки PHP) и хочу добавить событие в календарь пользователя в нашем домене Служб Google. Я создал идентификатор клиента в консоли разработчика Google и предоставил доступ к нему в разделе «Безопасность» в нашей консоли администратора Служб Google. Однако событие будет добавлено в календарь пользователя только в том случае, если пользователь ранее предоставил доступ к учетной записи разработчика. Я не хочу, чтобы каждый пользователь в нашем домене предоставил доступ учетной записи разработчика к своему календарю.
Возможно ли в API v3 иметь возможность беспрепятственно добавлять событие в календарь пользователя?
Предоставление делегированию учетной записи службы всего домена в консоли администратора Служб Google не дает доступа к календарю каждого пользователя. Вместо этого он позволяет учетной записи службы выдавать себя за любого данного пользователя в вашем домене, а затем отправлять запросы от имени этого пользователя.
В клиентской библиотеке PHP вы можете выдать себя за пользователя, установив sub
поле на Google_AssertionCredentials
объект, который вы создали.
$auth->sub = $userEmail;
У нас нет полного примера, демонстрирующего это для Calendar API, но документация Drive API включает образец, и процесс идентичен.
Других решений пока нет …