检索用户的所有群组 - > Google Directory API

时间:2018-03-12 16:12:02

标签: php oauth google-admin-sdk google-directory-api

我正在尝试创建一个页面,我的NGO中的用户可以使用他们的GSuite帐户登录。他们的小组成员资格将决定他们可以看到的页面的哪些部分。当我年轻的时候,我曾经用PHP编写我的脚本,我想我现在是超级老派,但这是我唯一可以做的事情:D

要检索组成员资格,我有以下代码:

配置:



require_once "GoogleAPI/vendor/autoload.php";
$gClient = new Google_Client();
(...)
$gClient->addScope("https://www.googleapis.com/auth/plus.login");
$gClient->addScope("https://www.googleapis.com/auth/userinfo.email");
$gClient->addScope("https://www.googleapis.com/auth/admin.directory.group.readonly");
$gClient->addScope("https://www.googleapis.com/auth/admin.directory.group");
$gClient->addScope("https://www.googleapis.com/auth/admin.directory.user");




回调文件:



$oAuth = new Google_Service_Oauth2($gClient);
$userData = $oAuth->userinfo_v2_me->get();

$gruppen = new Google_Service_Directory($gClient);
$optParams = array('userKey' => $userData['id']);
$retGruppen = $gruppen->groups->listGroups($optParams);




$ userData返回我想要的关于用户的所有数据。这很好。

问题是调用方法" listGroups"。我得到了一个非常奇怪的回应。

使用该帐户我经常使用它没有任何问题。我创建了一个测试帐户 - 这个帐户似乎根本不起作用。

开发人员控制台告诉我,我得到了一个代码403,但这很奇怪,因为它仍然适用于一个帐户而且它与另一个帐户无关。

通过各种var_dumps,我发现了



var_dump($gruppen->groups->listGroups($optParams));




适用于所有情况,但只要我添加方法" - > listGroups($ optParams)" - 它在测试帐户的情况下就不再起作用了 - 但在常规帐户中它确实

0 个答案:

没有答案