Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们是否可以使用服务帐户访问域用户日历,该帐户在php中具有域范围的委托访问权限?_Php_Google Calendar Api_Google Workspace - Fatal编程技术网

我们是否可以使用服务帐户访问域用户日历,该帐户在php中具有域范围的委托访问权限?

我们是否可以使用服务帐户访问域用户日历,该帐户在php中具有域范围的委托访问权限?,php,google-calendar-api,google-workspace,Php,Google Calendar Api,Google Workspace,我已经成功地使用一个服务帐户访问了域用户的数据,该帐户具有域范围的委托权限 现在我想使用服务帐户访问我的域用户的日历 我的问题是,有可能做这件事吗?是否可以访问我的域用户日历,而不必使用服务帐户与我共享该日历 我在一个房地产项目中工作,在那里,用户/代理可以预订他们将要主办此次活动的列表,这些列表将被添加到他们的谷歌日历中,他们还可以删除活动。-这很好,因为用户使用自己的gmail帐户登录,所以他们可以添加/编辑那里的日历 但是现在如果我有超级管理员权限,我想从日历中编辑/分配/删除这些事件 那

我已经成功地使用一个服务帐户访问了域用户的数据,该帐户具有域范围的委托权限

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

我的问题是,有可能做这件事吗?是否可以访问我的域用户日历,而不必使用服务帐户与我共享该日历

我在一个房地产项目中工作,在那里,用户/代理可以预订他们将要主办此次活动的列表,这些列表将被添加到他们的谷歌日历中,他们还可以删除活动。-这很好,因为用户使用自己的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'));
?>

谢谢


在PHP/Laravel中工作

您可以参考以下SO帖子:和。代码应该使用服务帐户逐个模拟域用户,而不是尝试与服务帐户共享日历。此外,您需要遵循在google域管理控制台中将域范围的权限委托给服务帐户的步骤,并为日历添加正确的作用域,它是https://www.googleapis.com/auth/calendar.