用于列出用户账户的Google API授权

前端开发 2026-07-09

我正在尝试列出与域相关联的用户账户。

我已经创建了一个服务账户,并把该账户的凭据放在环境变量中

GOOGLE_APPLICATION_CREDENTIALS

据我所知,googleapis模块在进行授权调用时会检查GOOGLE_APPLICATION_CREDENTIALS。在同一个项目中,我使用相同的凭据成功访问Google Cloud存储桶。

我正在使用以下模块

import { google } from 'googleapis';

以及以下代码

const auth = new google.auth.GoogleAuth({scopes: ['https://www.googleapis.com/auth/admin.directory.user']});
const admin = google.admin({
    version: 'directory_v1',
    auth: auth
});
try {
    const response = await admin.users.list({
        domain: '<domain of users>',
    });

    console.log(response);
} catch (error) {
    console.error('The API returned an error:', error);
}
  • 据我所知,我已经为该服务账户添加了正确的权限
  • 据我所知,我已经为该服务账户的域级委派添加了正确的作用域

我仍然收到以下错误

'Not Authorized to access this resource/api'

是否有人能给出使其工作所需完成的认证清单?我是不是漏掉了某个步骤?

解决方案

我一直没想清楚如何让它正确地进行身份验证。相反,我改用Google的 Gmail REST API,而不是使用googleapis。虽然有点复杂,但至少我得到更有帮助的错误信息,让我能够达到需要的位置。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章