我们可以使用在php中具有域范围授权访问权限的服务帐户访问域用户日历吗?

时间:2017-11-09 08:06:44

标签: php google-calendar-api gsuite

我已成功使用具有域范围授权权限的服务帐户访问域用户的数据。

现在,我想使用服务帐户访问我的域用户的日历。

我遇到的问题是,有可能做到这一点吗?是否可以访问我的域用户日历,而无需使用服务帐户与我共享该日历。

我正在一个房地产项目中工作,在这个项目中,用户/代理可以预订他们将要举办此活动的列表插槽,同样会被添加到他们的谷歌日历中,他们也可以删除该活动。 - 当用户使用自己的Gmail帐户登录时,这项工作很精细,因此他们可以添加/编辑日历。

但是现在如果我有一个超级管理员权限,想要从那个日历编辑/分配/删除这些事件。

那么,有可能吗?

这就是我使用服务帐户

的方式
<?php 
$client = new \Google_Client();
    $authArray = array(
        'https://www.googleapis.com/auth/admin.directory.user',
        'https://www.googleapis.com/auth/admin.directory.group',
'https://www.googleapis.com/auth/admin.directory.resource.calendar'
    );
    $client->setApplicationName('appicationname');
    $client->setScopes($authArray);
    $client->setSubject('emailp@domain.com');
    $client->setAuthConfig(public_path('path to json file service account .json'));

&GT;

谢谢

(在PHP / Laravel中工作)

1 个答案:

答案 0 :(得分:1)

您可以参考这些SO帖子:12。代码应该使用服务帐户来模仿&#34;域用户一个接一个,而不是尝试与服务帐户共享日历。此外,您需要按照将域范围权限委派给Google域管理控制台中的服务帐户的步骤,并添加正确的范围(对于日历,它是https://www.googleapis.com/auth/calendar)。