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

如何使用Google Cloud SDK与API Key完成BigQuery身份验证

使用API Key替代服务账号密钥文件访问Google Cloud服务的实现方案

首先明确API Key的使用限制,避免无效调试:

  • API Key仅支持访问无需身份授权的公开资源,比如BigQuery公共数据集、无权限校验的公开API接口,无法用于访问你项目内的私有资源,私有资源仍需使用服务账号密钥或OAuth2方式鉴权
  • 使用前需在控制台「APIs & Services」-「Credentials」页面,给生成的API Key开启对应服务的访问权限,例如要调用BigQuery就要开启BigQuery API的访问限制,否则会被拦截请求

Node.js客户端库的参数修改方式

官方Google Cloud Node.js客户端库原生支持直接传入apiKey参数替换keyFilename,无需额外依赖或配置:

你给出的Storage服务示例修改后代码:

// 直接将keyFilename替换为apiKey参数即可
const storage = new Storage({
  projectId: '替换为你的项目ID',
  apiKey: '替换为你在控制台生成的API Key'
});

BigQuery服务调用示例:

// 引入BigQuery客户端
const { BigQuery } = require('@google-cloud/bigquery');

// 初始化时传入apiKey参数
const bigquery = new BigQuery({
  projectId: '替换为你的项目ID',
  apiKey: '替换为你在控制台生成的API Key'
});

// 调用示例:查询BigQuery公开数据集
async function queryPublicData() {
  const sqlQuery = `SELECT name FROM \`bigquery-public-data.usa_names.usa_1910_2013\` LIMIT 10`;
  const [resultRows] = await bigquery.query(sqlQuery);
  console.log('查询结果:', resultRows);
}

queryPublicData();

常见问题排查

  • 若返回403权限错误:先检查API Key是否开启了对应服务的访问权限,同时确认你访问的资源为公开资源,私有资源无法使用API Key访问
  • 若返回400参数错误:检查API Key是否输入正确,有没有多余空格或特殊字符
  • 生产环境使用时建议给API Key配置IP、请求来源、服务范围的限制,不要将明文API Key提交到公共代码仓库,避免被盗用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:45:03