Jam*_*mes 5 google-oauth google-directory-api google-classroom
信息位:
我们正在尝试为使用 Google Classroom 或 Google G-Suite for Education 的学生建立登录。本质上,单点登录系统。学生和管理员将登录,我将验证他们的电子邮件扩展名,这对他们的地区来说是唯一的,然后我会将他们放入我们系统中正确的学校。
这种将用户帐户划分为我们系统中的许可证的过程是在用户登录时即时进行的,因此在开始时不需要大量数据转储。
用户和管理员必须被路由到我们系统中的正确学校,因为管理员在我们的系统中运行报告和管理用户,并且需要具有正确的访问权限。
问题:
我不知道如何Organizational Units从 Google 服务 api获取用户。通常,学校将组织单位作为学校,并将学生分配到这些学校。
因此,当我使用 Oauth2 对用户进行身份验证时
$googleService = new Google_Service_Oauth2($googleClient);
$info = $googleService->userinfo->get();
Run Code Online (Sandbox Code Playgroud)
这工作正常,用于获取一些基本信息,但不包括该用户的组织单位。
然后当我尝试使用Google Directoryapi 时,它工作正常,但前提是用户是管理员
$directory = new Google_Service_Directory($googleClient);
$user = $directory->users->get($userId);
Run Code Online (Sandbox Code Playgroud)
因此,如果登录我的应用程序的人(主要是学生)不是管理员,那么他们将无法从Google Directory.
主要问题:
如何获取经过身份验证的用户(不是管理员)的组织单位?
也许这对于 Google 服务来说是不可能的,但我们在其他六项服务中做到了这一点,没有任何问题。任何帮助表示赞赏。似乎无法在谷歌论坛或代码示例上找到有关此的任何信息。
| 归档时间: |
|
| 查看次数: |
837 次 |
| 最近记录: |