遵循有关如何执行G Suite域范围授权的指示,如此处所示 https://developers.google.com/admin-sdk/directory/v1/guides/delegation 我完成了所有步骤,但是现在我仍然坚持在我的应用程序中实现SDK目录服务对象,我在前端使用Angular 7,后端使用NodeJs(Firebase云功能),但是此处提供的代码仅支持Java, Python和Go。谁能告诉我如何将其转换为NodeJS?
答案 0 :(得分:5)
希望您现在对此有一个答案,但是您可以:
const keys = require('<Path to your privateKey.json file>');
const { JWT } = require('google-auth-library');
async function main() {
const client = new JWT({
email: keys.client_email,
key: keys.private_key,
subject: "<email address of user with admin acceess on G Suite>",
scopes: [<put your scopes here>],
});
const url = `<Your HTTP request>`;
const res = await client.request({ url });
return(res.data);
}
main().catch(console.error);
这是一个很好的示例,显示了代码的外观:https://github.com/googleapis/google-auth-library-nodejs/blob/master/samples/jwt.js
google示例中唯一缺少的是subject参数。当您尝试访问仅G Suite管理员只能访问的API时,此参数是必须的,因此您需要模拟一个管理员帐户。