用于列出用户账户的Google API授权
我正在尝试列出与域相关联的用户账户。
我已经创建了一个服务账户,并把该账户的凭据放在环境变量中
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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。