У меня есть веб-сайт, которому пользователь может предоставить доступ для редактирования своих календарей Google.
На главной странице сайта отображается список событий из календаря компании, события доступны для редактирования.
Дело в том, что все пользователи на сайте не имеют прав на редактирование событий в календаре (то есть их учетной записи Google). Есть ли способ проверить, есть ли у пользователя права на редактирование календаря через PHP API клиент?
Чтобы уточнить, все пользователи не должны иметь разрешение на редактирование календаря. Если их учетная запись Google имеет доступ, инструменты редактирования должны отображаться. В противном случае они просто получают список событий.
В этом случае календарь является общедоступным, поэтому каждый должен видеть события.
(Было бы не больно, если бы он работал и с закрытым календарем, но, думаю, это сложнее. Требуется резервная учетная запись службы или что-то в этом роде.)
Я в настоящее время использую метод списка из Ресурс событий чтобы получить события.
Календарь список получить возвращает ресурс календарного списка
которая имеет то, что называется роль доступа
accessRole строка Эффективная роль доступа, которую аутентифицированный пользователь имеет в календаре. Только для чтения.
Возможные значения:
PHP-код выглядит примерно так:
calendarListEntry = $service->calendarList->get('calendarId');
Примечание: использование служебной учетной записи будет намного проще, чем сценарий будет иметь доступ к календарю, и вы можете использовать сценарий для редактирования календаря без необходимости доступа к учетным записям пользователей.
Других решений пока нет …