You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用服务账号认证Google Workspace Admin API?问题排查

问题原因及解决步骤

你遗漏了服务账号模拟域内管理员身份并完成认证授权的关键步骤。服务账号本身没有Google Workspace域的访问权限,即使配置了全域委派,也需要显式指定要模拟的域内管理员账号,并完成认证流程后才能调用Admin SDK API。

修正后的代码示例

import { google } from 'googleapis';

// 创建JWT认证客户端,模拟域内管理员账号
const client = new google.auth.JWT({
  // 已设置GOOGLE_APPLICATION_CREDENTIALS环境变量,会自动加载服务账号信息
  scopes: ['https://www.googleapis.com/auth/admin.directory.group.readonly'], // 按需选择权限范围
  subject: 'admin@your-domain.com' // 替换为你的域内管理员邮箱
});

// 完成授权
await client.authorize();

// 初始化admin API客户端并传入已授权的认证对象
const admin = google.admin({
  version: 'directory_v1',
  auth: client
});

// 调用群组列表接口
const groupsResponse = await admin.groups.list({
  domain: process.env.GOOGLE_DOMAIN,
});

console.log(groupsResponse.data);

额外注意事项

  • 确保你指定的subject邮箱是Google Workspace域内拥有查看群组权限的管理员账号。
  • 服务账号的全域委派设置中,必须已添加https://www.googleapis.com/auth/admin.directory.group.readonly(或对应读写权限)的API范围。

内容的提问来源于stack exchange,提问作者THpubs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 04:48:21