Google App Maker:启用应用程序以进行Admin SDK API调用

时间:2018-10-19 19:24:08

标签: google-app-maker

我已经创建了一个谷歌应用程序制造商应用程序,并添加了服务器脚本以访问Admin SDK API。当我预览我的应用程序时,我看到以下错误“ GoogleJsonResponseException:未授权在listAllGroups上访问此资源/ api”。我的理解是,谷歌应用程序制造商使用当前用户的帐户来访问资源,这意味着我需要向自己授予对Admin SDK的API访问权限。我该如何实现?顺便说一句,我以超级管理员身份登录

这是我正在使用的服务器脚本:

function listAllGroups() {
  var pageToken;
  var page;
  do {
    page = AdminDirectory.Groups.list({
      domain: 'test.domain.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);
}

1 个答案:

答案 0 :(得分:1)

如果您使用的是超级管理员帐户,则 domain 参数可能会给您带来问题。尝试以下方法:

function listAllGroups() {
  var pageToken;
  var page;
  do {
    page = AdminDirectory.Groups.list({
      customer: 'my_customer',
      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);
}

请注意,这里我们使用参数 customer 和值 my_customer 代替参数 domain 。如果这些方法不能解决问题,请确保该应用程序以用户身份而不是以开发人员身份运行。如果以开发人员身份运行,请确保该开发人员是超级管理员帐户。希望对您有帮助!