使用NodeJS实例化Admin SDK Directory服务对象

时间:2019-06-17 17:55:04

标签: node.js angular

遵循有关如何执行G Suite域范围授权的指示,如此处所示 https://developers.google.com/admin-sdk/directory/v1/guides/delegation 我完成了所有步骤,但是现在我仍然坚持在我的应用程序中实现SDK目录服务对象,我在前端使用Angular 7,后端使用NodeJs(Firebase云功能),但是此处提供的代码仅支持Java, Python和Go。谁能告诉我如何将其转换为NodeJS?

1 个答案:

答案 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时,此参数是必须的,因此您需要模拟一个管理员帐户。