【发布时间】:2021-01-20 12:45:45
【问题描述】:
我想使用 Google My Business API 通过我的组织帐户详细信息搜索和管理我们客户的业务。
我想使用 API 作为代理,因为我想管理客户的业务。
我已提交 API 访问表单并获得使用 API 的确认。 此外,我还在同一个帐户中生成了 OAuth 凭据和服务帐户。
但根据 GMB API 文档,我们需要传递访问令牌才能访问 API。
我已经查看了使用 OAuth 和服务帐户的身份验证过程。 根据我的要求,我想直接从我的 NodeJS 服务器代码在后端生成访问令牌,而无需用户交互。
我想使用我的帐户详细信息来使用 API,因此需要获得用户的许可,因为我不需要任何用户信息。
我已尝试将以下内容用作服务帐户,但它返回错误。
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
所以任何人对此都有想法。 您的帮助将不胜感激。
【问题讨论】:
-
你遇到了什么错误@kc1994
-
嗨@Xcode,请检查我的问题,我在评论中提到了代码块中的错误。实际上,我想通过我们的应用程序使用 GMB API 来管理客户的业务,但我不知道如何为此创建 OAuth 流程,因为我想在后端添加业务而无需用户交互。
标签: node.js google-authentication google-api-nodejs-client google-my-business-api google-auth-library-nodejs