You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式获取Google Cloud项目编号

解决方案

可以通过Google Cloud Resource Manager API编程获取和项目ID对应的数字项目编号,你可以复用已经集成的google-auth-library的鉴权逻辑实现,具体操作如下:

1. 安装依赖

你需要额外安装Google Cloud资源管理的Node.js客户端库,和现有鉴权逻辑完全适配:

npm install @google-cloud/resource-manager

2. 代码实现示例

const { ProjectsClient } = require('@google-cloud/resource-manager');
const { GoogleAuth } = require('google-auth-library');

// 你已有的获取项目ID的逻辑
async function getProjectId() {
  const auth = new GoogleAuth({
    scopes: 'https://www.googleapis.com/auth/cloud-platform'
  });
  return await auth.getProjectId();
}

// 新增获取数字项目编号的方法
async function getProjectNumber() {
  const projectId = await getProjectId();
  const resourceClient = new ProjectsClient();
  const [projectInfo] = await resourceClient.getProject({
    name: `projects/${projectId}`
  });
  return projectInfo.projectNumber;
}

// 调用示例:直接拼接Secret Manager机密名称
getProjectNumber().then(projectNumber => {
  const secretFullName = `projects/${projectNumber}/secrets/你的机密名称/versions/latest`;
  // 后续直接传入Secret Manager客户端调用即可
  console.log('机密完整路径:', secretFullName);
});

3. 前置要求

  • 运行代码的身份(服务账号/本地认证账号)需要具备resourcemanager.projects.get权限,默认的Owner、Editor角色均自带该权限,自定义角色需要单独配置该权限
  • 鉴权逻辑和你调用其他Google Cloud服务完全一致,不需要额外配置环境变量或者硬编码参数

如果你不想额外安装客户端库,也可以直接用google-auth-library生成的授权客户端,直接调用Resource Manager的REST接口查询项目信息,逻辑和上述代码一致,只是需要自己处理HTTP请求和错误。

内容的提问来源于stack exchange,提问作者Vyacheslav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 18:15:04