Node.js Google My Business:如何在没有用户交互的情况下生成访问令牌
我想使用Google My Business API,使用我的组织帐户详细信息搜索和管理我们客户的业务 我想使用API作为代理,因为我想管理我们客户的业务 我已经提交了API访问表,并得到了使用API的确认。 此外,我还在同一个帐户中生成了OAuth凭据和服务帐户 但是根据GMB API文档,我们需要传递一个访问令牌才能访问API 我已经回顾了使用OAuth和服务帐户的身份验证过程。 根据我的需求,我想在后端直接从我的NodeJS服务器代码生成访问令牌,而无需用户交互 我想使用我的帐户详细信息来使用API,因此需要获得用户的许可,因为我不需要任何用户信息 我尝试将以下内容用作服务帐户,但它返回一个错误Node.js Google My Business:如何在没有用户交互的情况下生成访问令牌,node.js,google-authentication,google-api-nodejs-client,google-my-business-api,google-auth-library-nodejs,Node.js,Google Authentication,Google Api Nodejs Client,Google My Business Api,Google Auth Library Nodejs,我想使用Google My Business API,使用我的组织帐户详细信息搜索和管理我们客户的业务 我想使用API作为代理,因为我想管理我们客户的业务 我已经提交了API访问表,并得到了使用API的确认。 此外,我还在同一个帐户中生成了OAuth凭据和服务帐户 但是根据GMB API文档,我们需要传递一个访问令牌才能访问API 我已经回顾了使用OAuth和服务帐户的身份验证过程。 根据我的需求,我想在后端直接从我的NodeJS服务器代码生成访问令牌,而无需用户交互 我想使用我的帐户详细信息来
const keys = require("./config/gmb.json");
const {OAuth2Client,GoogleAuth,JWT} = require('google-auth-library');
const client = new JWT({
email: keys.client_email,
key: keys.private_key,
scopes: ['https://www.googleapis.com/auth/business.manage'],
});
console.log(client.credentials); // It returns refresh_token=jwt-placeholder, expiry_date=1
const tokenInfo = await client.getTokenInfo(client.credentials.access_token); // It returns Error: invalid_token
所以任何人都有这个想法。
你的帮助会很感激的。我得到了我问题的答案 如果我们想首先获得任何用户帐户的访问令牌,我们需要提示用户输入OAuth,一旦用户授予其帐户权限,我们需要使用刷新令牌存储用户帐户详细信息,一旦我们完成用户OAuth过程,google将提供刷新令牌 现在,每当我们需要任何用户帐户的访问令牌时,我们都可以使用完成OAuth过程后存储的用户帐户详细信息的刷新令牌来获得它 注意: 如果用户更改其帐户密码或某些影响用户隐私的详细信息,刷新令牌可能会过期
我已经完成了OAuth过程并在NodeJs中获取了用户的访问令牌。您获取@kc1994Hi@Xcode时出现了什么错误,请检查我的问题,我已经在代码块中提到了一个错误作为注释。实际上,我想使用GMB API通过我们的应用程序来管理我们客户的业务,但我不知道如何进行OAuth流程,因为我想在后端添加业务,而不需要用户交互。