我正在尝试创建日历并使用服务帐户与我的组织的用户共享它们。
我想要获得的能力是管理创建的日历,从我的网站代码(使用服务帐户)和常规谷歌日历网页界面。
因此,我想我可以创建一个愚蠢的用户帐户(带有凭据),用服务帐户模拟它,然后创建和共享我的日历,并通过我的weba代码和google常规用户界面管理事件。
这是正确的方法吗?我是不是遗漏了什么?
如果我最后的猜测是正确的,我如何使用laravel和google客户端的PHP实现呢?
谢谢你的建议
发布于 2019-02-04 16:07:31
在它上睡觉之后,我意识到没有必要模拟用户并插入新的日历。要从官网界面管理服务帐户日历,只需将其与所有者权限共享给“哑用户”即可。
就像这样:
//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);
所以我的问题现在已经解决了,唯一我还在考虑的问题是我如何用服务帐户凭证来模拟一个用户?好吧,当它真的有用的时候,我会考虑的
https://stackoverflow.com/questions/54508387
复制相似问题