代码之家  ›  专栏  ›  技术社区  ›  delucaezequiel

NodeJS谷歌云服务账户承载令牌

  •  0
  • delucaezequiel  · 技术社区  · 5 年前

    我正在尝试获取谷歌服务帐户的授权承载令牌,以便进行REST API调用。我得到的服务帐户JSON密钥如下所示:

    { 
        "type": "service_account",
        "project_id": "sa-12345",
        "private_key_id": "12345abc",
        "private_key": "-----BEGIN PRIVATE KEY-----\n12345abc\n12345abc\n=\n-----END PRIVATE KEY-----\n",
        "client_email": "sa@sa12345-12345.iam.gserviceaccount.com",
        "client_id": "12345",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/sa%40sa-12345.iam.gserviceaccount.com"
      }
    

    在NodeJs中有什么方法可以实现这一点吗?我不能使用谷歌SDK,因为我只接收URL作为输入,仅基于该信息使用SDK需要从URL映射到SDK库(计算、存储等)

    0 回复  |  直到 5 年前
        1
  •  0
  •   Aerials    5 年前

    这 Node.js quickstart 演示如何使用OAuth2凭据对Google API进行身份验证。这个例子是针对驱动API的,但对于任何谷歌API都可以遵循相同的过程。

    OAuth 2.0凭据是按应用程序类型(web服务器、桌面等)创建的。看见 docs 了解更多信息。

    在您的情况下,因为您想使用服务帐户。您必须构建JWT并将其交换为访问令牌。

    请参阅以下文档以获取参考和示例: