Как выдать себя за пользователя и вставить календарь от его имени, используя учетную запись службы? - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь создавать календари и делиться ими с пользователями моей организации, используя служебную учетную запись.Я хотел бы получить возможность управлять созданными календарями как из кода моего сайта (используя учетную запись службы), так и из обычного веб-интерфейса календаря Google.Поэтому я подумал, что мог бы создать глупую учетную запись пользователя (с учетными данными), выдать себя за нее с помощью учетной записи службы, а затем создавать и публиковать свои календари и управлять событиями как из своего кода weba pp, так и из обычного пользовательского интерфейса Google.Это правильный путь?Я что-то пропустил?Если мое последнее предположение верно, как я могу добиться этого, используя laravel и google-api-клиенты для PHP?

Спасибо за советы

1 Ответ

0 голосов
/ 05 февраля 2019

После сна я понял, что нет необходимости выдавать себя за пользователя и вставлять новый календарь.Чтобы управлять календарем служебной учетной записи из веб-интерфейса officiale, вы можете просто поделиться им с правами владельца для «тупого пользователя»

Примерно так:

//create calendar
$calendar = new Google_Service_Calendar_Calendar();
$calendar->setSummary('calendarname');
$calendar->setTimeZone('Europe/Berlin');
$service = new Google_Service_Calendar();
$createdCalendar = $service->calendars->insert($calendar);

//share it with your dumb user 
$rule = new Google_Service_Calendar_AclRule();
$scope = new Google_Service_Calendar_AclRuleScope();
$scope->setType("user");
$scope->setValue('dumbuser@organization.com');
$rule->setScope($scope);
$rule->setRole("owner");
$createdRule = $service->acl->insert(createdCalendar->getId(), $rule);

Итак, моя проблема решенана данный момент, единственный вопрос, о котором я все еще думаю, - как я могу выдать себя за пользователя с учетными данными учетной записи службы?Хорошо, я подумаю об этом, когда это будет действительно полезно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...