Google Directory API以非管理员身份检索用户。

时间:2014-11-06 21:22:36

标签: google-api-php-client google-apps-marketplace

我有一个google marketplace app,它有一个具有以下权限的服务帐户: https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/admin.directory.orgunit.readonly,https://www.googleapis.com/auth/admin.directory.user.readonly

当非管理员用户对应用进行身份验证时,应用需要查看该用户的orgUnitPath,以便了解该用户的位置。

在执行$ directory-> users-> get调用时指定viewType = domain_public并不返回orgUnitPath,但是当我指定viewType = admin_view时,我得到一个用户没有的异常授权访问此API。

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:1)

使用" domain_public"不会返回orgUnitPath字段。 viewType,正如您所发现的那样。相反,您需要使用viewType" admin_view" (默认值)并以管理员身份发出请求。您可以使用服务帐户模拟域中的管理员,如here所示。