如何使用 JSON 密钥文件在 Node.js 中设置谷歌服务帐户授权?

Mic*_*ael 5 google-api-nodejs-client

尝试使用此处定义的服务器到服务器 OAuth 流程:https : //developers.google.com/identity/protocols/OAuth2ServiceAccount

由于我在本地开发环境中运行,因此我在 GCP 中创建了一个服务帐户并使用私钥下载了 JSON 文件,但找不到任何关于如何:1) 加载 json 文件的 Node.js 代码示例) 设置委托凭据(用于 G Suite 域范围授权)

我看过的地方(除了 stackoverflow)是 Google 的 node.js 客户端库的 git wiki,它确实讨论了服务器到服务器的身份验证,但似乎假设您从 appengine 或 google cloud 运行并且不需要加载一个密钥文件:https : //github.com/googleapis/google-api-nodejs-client#service-to-service-authentication

Admin SDK 活动报告 API 有一个 Node 示例,但它使用基于 Web 的流程(假设用户存在):https : //developers.google.com/admin-sdk/reports/v1/quickstart/nodejs

在 Node.js 示例中深埋的是 Directory API 的使用,它似乎以密钥文件作为输入,但是当我尝试在本地运行时,它说 getClient 不是构造函数,并且这个示例仍然没有显示如何设置上下文的 G Suite 管理员用户(通常是将刷新令牌和访问令牌加载到应用程序中时):https : //github.com/googleapis/google-api-nodejs-client/blob/master/samples/directory_v1 /group-delete.js

所以......有人有这样的例子吗?我真的不想切换到 Python 运行时,但 Google 似乎遗漏了有关此主题的重要示例。