我想授权非管理员用户使用AdminDirectory(Google apps Admin SDK的一部分)作为Google Apps脚本的一部分。基本上我希望用户根据用户名获取其他用户的全名列表。
我知道我可以使用OAuth2执行此操作,但我无法找到适用于Admin SDK-AdminDirectory的Google应用程序脚本代码的示例。
我创建了一个服务帐户,并拥有并拥有我的客户ID和密钥ID。接下来我需要做什么?我找到了这个https://developers.google.com/api-client-library/javascript/features/authentication,但我无法弄清楚如何获得授权。
以下是我的脚本的最小版本:(它将为授权用户生成用户edutett0707@edu.kristinehamn.se的全名)
function grupplistor() {
var userinfo = AdminDirectory.Users.get("edutett0707@edu.kristinehamn.se");
Logger.log ([userinfo.name.fullName]);
}
答案 0 :(得分:1)
尝试:
function grupplistor() {
var userinfo = AdminDirectory.Users.get({
userKey: "edutett0707@edu.kristinehamn.se",
viewType: "domain_public"});
Logger.log ([userinfo.name.fullName]);
}
viewType domain_public告诉api返回有关与所有其他用户共享的用户的信息。
杰
答案 1 :(得分:-1)
您可以尝试使用创建服务帐户及其凭据。
您需要创建服务帐户及其凭据。在此过程中,您需要收集稍后将用于Google Apps domain-wide delegation权限和代码的信息,以便使用您的服务帐户进行授权。您需要的三个项目是您的服务帐户:
- 客户ID。
- 私钥文件。
- 电子邮件地址。
注意:只有具有Admin API访问权限的用户才能访问Admin SDK Directory API,因此您的服务帐户需要模拟其中一个用户访问Admin SDK Directory API。
来源:
希望这有帮助