首页 文章

授权非管理员用户使用OAuth2使用AdminDirectory

提问于
浏览
0

我想授权非管理员用户使用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]);  
      }

2 回答

  • 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

    您可以尝试使用创建服务帐户及其凭据 .

    您需要创建服务帐户及其凭据 . 在此过程中,您需要收集稍后将用于Google Apps域范围授权的信息,并在您的代码中使用您的服务帐户进行授权 . 您需要的三个项目是您的服务帐户:客户ID . 私钥文件 . 电子邮件地址 . 注意:只有具有Admin API访问权限的用户才能访问Admin SDK Directory API,因此您的服务帐户需要模拟其中一个用户访问Admin SDK Directory API .

    资源:

    希望这可以帮助

相关问题