【发布时间】:2021-10-30 01:50:40
【问题描述】:
我正在使用节点列出域中的所有用户。我已经创建了具有域范围委派的服务帐户。 域管理员授予对所需范围的服务帐户的访问权限。
代码:
const { JWT } = require('google-auth-library');
const {google, chat_v1} = require('googleapis');
const keys = require('./keys.json')
async function main() {
const client = new JWT(keys.client_email, keys, keys.private_key,
['https://www.googleapis.com/auth/admin.directory.user',
'https://www.googleapis.com/auth/admin.directory.user.readonly',
'https://www.googleapis.com/auth/cloud-platform'],
"admin@domain.com"
);
await client.authorize();
const service = google.admin("directory_v1");
service.users.list({
domain: "domain.com",
maxResults: "10",
orderBy: "email",
}, (err, res) => {
if (err) return console.error('The API returned an error:', err.message);
const users = res.data.users;
if (users.length) {
console.log('Users:');
users.forEach((user) => {
console.log(`${user.primaryEmail} (${user.name.fullName})`);
});
} else {
console.log('No users found.');
}
});
}
main();
但我唯一收到的是:
The API returned an error: Login Required.
还为此服务帐户启用了 admin sdk api 知道为什么会这样吗?
【问题讨论】:
标签: node.js google-api google-admin-sdk