首页 文章

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

提问于
浏览
1

我创建了一个谷歌应用程序制造商应用程序并添加了一个服务器脚本,以访问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 回答

  • 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 . 如果这些不能解决问题,请确保应用程序以用户身份运行,而不是以开发人员身份运行 . 如果它作为开发人员运行,那么请确保开发人员是超级管理员帐户 . 希望能帮助到你!

相关问题