繁体   English   中英

使用本机 JavaScript 向 Google Cloud 文本转语音 API 进行身份验证

[英]Authenticate to Google Cloud text-to-speech API using native JavaScript

我正在尝试将我的应用程序从 NodeJS 迁移到浏览器。 但是,我似乎无法在本机 JavaScript 中找到有关如何向 Google Cloud Platform 进行身份验证的最新示例。 在 NodeJS 中,我使用服务帐户密钥进行身份验证,但据我了解,您不能在浏览器中使用服务帐户密钥。 我当前的代码:

function AuthenticateToGoogleCloud() {
  handleClientLoad();

  /**
   * Set required API keys and check authentication status.
   */
  function handleClientLoad() {
    gapi.client.setApiKey(CREDS["credentials"][0]["gcloud"]["GC_API_KEY"]);
    window.setTimeout(checkAuth, 1);
  }

  /**
   * Authorize Google API.
   */
  function checkAuth() {
    gapi.auth.authorize(
      {
        client_id: CREDS["credentials"][0]["gcloud"]["GC_CLIENT_ID"],
        scope: CREDS["credentials"][0]["gcloud"]["GC_SCOPES"],
        immediate: true,
      },
      handleAuthResult
    );
  }

  /**
   * Handle authorization.
   */
  function handleAuthResult(authResult) {
    console.log(authResult);
    initializeApi();
  }

  /**
   * Load the Google Cloud API.
   */
  function initializeApi() {
    gapi.client.load("texttospeech", "v1");
  }
}

当我运行这个片段时,我得到了错误

未捕获的类型错误:无法读取未定义的属性(读取“setApiKey”)

大概是因为我得到它的例子已经过时了。 如何使用本机 JavaScript 向现代 Google Cloud Platform 进行身份验证,并且不提示用户?

如这篇文章中所示停止对 Google 登录 JavaScript 平台库的授权支持

去年,我们宣布计划弃用适用于 web 应用程序的 Google 登录 JavaScript 平台库

2023 年 3 月 31 日,我们将完全停用 Google 登录 JavaScript 平台库,并提醒您检查这是否会影响您的 web 应用程序,并在必要时计划迁移。

从 2022 年 4 月 30 日开始,新应用程序必须使用 Google 身份服务库,现有应用程序可以继续使用平台库,直到弃用日期为止。

你受到影响吗?

The deprecation applies to web apps loading the Google Sign-In JavaScript Platform Library and apps using the Google API Client Library for JavaScript with access tokens.

因此,您应该使用Google OAuth 库,而不是旧的身份验证方法。

在这里,您可以查看显示您的应用程序如何与 Google 的 OAuth 2.0 服务器交互的步骤,以获得用户的同意以代表用户执行 API 请求。 请注意,您的应用程序必须先获得该同意,然后才能执行需要用户授权的 Google API 请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM