是否可以通过编程方式从启用了 api 的服务帐户凭据中检索? (在nodejs中,不是云环境)
Is it possible to programmatically retrieve from serviceaccount credentials which api's are enabled? (in nodejs, not the cloud environment)
我有一个包含 client_email 和 private_key 的服务帐户凭据 json 文件。
然后是否可以通过编程方式从启用了 api 的 serviceaccount 凭据中检索?我的意思不是像转到 console.cloud.google.com 那样的解决方案,而是来自 nodejs 的解决方案。谢谢!
Google 有一个 API Gateway Client Library for NodeJS 具有所需的能力
const projectId = 'my-project';
const {ApiGatewayServiceClient} = require('@google-cloud/api-gateway');
const client = new ApiGatewayServiceClient();
async function listApis() {
const [apis] = await client.listApis({
parent: `projects/${projectId}/locations/global`,
});
for (const api of apis) {
console.info(`name: ${api.name}`);
}
}
listApis();
您还需要知道项目 ID。 @wardenunleashed 的答案是 API 网关。这不包括启用了哪些 Google API。
API每个项目都启用,因此您必须指定要查询的项目。
服务帐户 JSON 密钥文件包含拥有该服务帐户的项目的项目 ID。
private_key_id也很重要。该 ID 用于查找 public 密钥以验证私钥签名。
我有一个包含 client_email 和 private_key 的服务帐户凭据 json 文件。 然后是否可以通过编程方式从启用了 api 的 serviceaccount 凭据中检索?我的意思不是像转到 console.cloud.google.com 那样的解决方案,而是来自 nodejs 的解决方案。谢谢!
Google 有一个 API Gateway Client Library for NodeJS 具有所需的能力
const projectId = 'my-project';
const {ApiGatewayServiceClient} = require('@google-cloud/api-gateway');
const client = new ApiGatewayServiceClient();
async function listApis() {
const [apis] = await client.listApis({
parent: `projects/${projectId}/locations/global`,
});
for (const api of apis) {
console.info(`name: ${api.name}`);
}
}
listApis();
您还需要知道项目 ID。 @wardenunleashed 的答案是 API 网关。这不包括启用了哪些 Google API。
API每个项目都启用,因此您必须指定要查询的项目。
服务帐户 JSON 密钥文件包含拥有该服务帐户的项目的项目 ID。
private_key_id也很重要。该 ID 用于查找 public 密钥以验证私钥签名。