【问题标题】:can we access domain users calendar using service account which has domain wide delegation access in php?我们可以使用在 php 中具有域范围委派访问权限的服务帐户访问域用户日历吗?
【发布时间】:2017-11-09 08:06:44
【问题描述】:

我已经成功地能够使用具有域范围委派权限的服务帐户访问域用户的数据。

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

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

我在一个房地产项目中工作,用户/代理可以预订他们将要举办此活动的列表位置,并且相同的列表将被添加到他们的谷歌日历中,他们也可以删除该活动。 - 这工作正常,因为用户使用自己的 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 中工作)

【问题讨论】:

    标签: php google-calendar-api google-workspace


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-13
      • 2023-04-03
      • 2018-06-20
      • 2020-09-06
      • 2020-07-08
      • 1970-01-01
      • 2014-09-06
      相关资源
      最近更新 更多