如何识别经过身份验证的用户是否为gsuite的管理员?

时间:2018-03-14 10:42:37

标签: google-app-engine gsuite

我使用PHP google sdk作为我的项目。

如果经过身份验证的用户是gsuite帐户的管理员,我想创建一个帐户。

我试图找到,但无法找到任何帮助我识别帐户的链接。

任何人都可以帮我检查用户是否是gsuite的管理员?

以下是概述链接Click Here,您可以检查回复,有一个密钥isAdmin可用。但是,当我尝试使用getlist下面的链接时,它会返回错误消息,例如"Not Authorized to access this resource/api"

以下是Google的try it out链接:https://developers.google.com/admin-sdk/directory/v1/reference/users/list

2 个答案:

答案 0 :(得分:0)

您是否在https://console.cloud.google.com/apis/library/admin.googleapis.com启用了API?我相信您的项目也需要与gsuite域相关联。

答案 1 :(得分:0)

看起来您使用的任何帐户在此处都没有正确的权限。

Try this API {a} viewType默认设置为admin_view。如果您使用admin_view,则需要成为G Suite域的管理员。这解释为here

问题是isAdmin密钥仅包含在admin_view

考虑到你的目标,所有这一切实际上并不重要。您希望能够从PHP代码中确定是否有任何用户是管理员,这使Try this API部分成为学术成员。

您真正需要做的是create a serviceaccount with domain wide delegation并使用此serviceaccount来验证对API的请求。此serviceccount将允许您获取isAdmin密钥。

您可以使用this article.

中指示的serviceaccount对HTTP / REST API调用进行身份验证