Google app maker 谷歌应用程序制造商:如何列出现有的组?

Google app maker 谷歌应用程序制造商:如何列出现有的组?,google-app-maker,Google App Maker,我已经通过他们的AppMaker界面创建了一个新的google应用程序。我添加了“谷歌管理目录API”作为服务,“目录”作为数据源。我创建了一个包含两个表的页面,一个表列出了我的域中的所有用户(这已经在工作),另一个表列出了我的域中的所有组(不工作)。我怎样才能做到这一点?这可以通过他们的小部件来完成吗?还是我必须创建一个脚本并以编程方式调用admin API,然后将数据绑定到表中?由于您在使用目录模型时已经启用了admin Directory API,现在所要做的就是从服务器脚本中调用示例代码

我已经通过他们的AppMaker界面创建了一个新的google应用程序。我添加了“谷歌管理目录API”作为服务,“目录”作为数据源。我创建了一个包含两个表的页面,一个表列出了我的域中的所有用户(这已经在工作),另一个表列出了我的域中的所有组(不工作)。我怎样才能做到这一点?这可以通过他们的小部件来完成吗?还是我必须创建一个脚本并以编程方式调用admin API,然后将数据绑定到表中?

由于您在使用目录模型时已经启用了admin Directory API,现在所要做的就是从服务器脚本中调用示例代码。在服务器脚本中,添加示例代码:

function listAllGroups() {
  var pageToken;
  var page;
  do {
    page = AdminDirectory.Groups.list({
      domain: 'example.com',
      maxResults: 100,
      pageToken: pageToken
    });
    var groups = page.groups;
    if (groups) {
      for (var i = 0; i < groups.length; i++) {
        var group = groups[i];
        Logger.log('%s (%s)', group.name, group.email);
      }
    } else {
      Logger.log('No groups found.');
    }
    pageToken = page.nextPageToken;
  } while (pageToken);
}

您可以查看参考。我希望这有帮助

您必须通过脚本来完成。@Morfinismo我已经向应用程序添加了一个脚本,并粘贴了我在这里找到的“ListAllGroups”示例代码,但我得到一个错误“Uncaught ReferenceError:AdminDirectory未在page=AdminDirectory.Groups.list中定义({(NewScript:8)”。我是否必须启用google API脚本才能使我的应用程序能够与管理员API对话?您可能在客户端脚本中使用了该代码,而不是在服务器脚本中。您必须在服务器脚本中使用该代码。@Morfinismo请看我下面的评论。我已将代码片段添加到客户端和服务器脚本中。但是,我仍在使用它。@Morfinismong错误“GoogleJsonResponseException:无权访问listAllGroups上的此资源/api”这似乎与权限有关。我必须在不同级别启用管理API吗?@jorgachacon在这种情况下,您没有通过API读取组的权限。请确保您使用的是具有这些权限的管理用户。超级管理用户应该不会给出任何问题。
google.script.run.withSuccessHandler(function(response){
    console.log(response);
}).withFailureHandler(function(err){
    console.log(err);
}).listAllGroups();