[英]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.