如何通过API(而非UI)编程创建Google Maps API密钥?
编程方式创建Google Maps API密钥方案
可以通过Google Cloud官方提供的API密钥管理API实现编程创建Google Maps API密钥,无需通过UI操作,具体实现步骤如下:
前提准备
- 启用Google Cloud的「API密钥管理API」(可通过
gcloud services enable apikeys.googleapis.com命令完成,只需执行一次) - 拥有具备
roles/apikeys.admin权限的服务账号密钥,用于鉴权调用API
实现方式
方式一:使用REST API(curl调用)
- 先获取服务账号的访问令牌:
gcloud auth application-default print-access-token - 调用API创建密钥,替换
[你的项目ID]和[刚才获取的令牌]:
响应结果中会包含生成的完整API密钥字符串,需妥善保存。curl -X POST "https://apikeys.googleapis.com/v2/projects/[你的项目ID]/apiKeys" \ -H "Authorization: Bearer [访问令牌]" \ -H "Content-Type: application/json" \ -d '{ "displayName": "编程生成的Maps密钥", "restrictions": { "apiTargets": [ { "service": "maps-backend.googleapis.com" } ] } }'
方式二:使用Google Cloud客户端库(Python示例)
- 先安装客户端库:
pip install google-cloud-api-keys - 编写代码创建密钥,替换
[你的项目ID]:from google.cloud import api_keys_v2 from google.cloud.api_keys_v2 import models # 初始化客户端 client = api_keys_v2.ApiKeysClient() # 配置密钥属性 key_config = models.ApiKey( display_name="编程生成的Maps密钥", restrictions=models.Restrictions( api_targets=[models.ApiTarget(service="maps-backend.googleapis.com")] ) ) # 发送创建请求 request = models.CreateApiKeyRequest( parent="projects/[你的项目ID]/locations/global", api_key=key_config ) response = client.create_api_key(request=request) print(f"生成的API密钥:{response.key_string}")
注意事项
- 新密钥默认未绑定任何API权限,通过
apiTargets指定maps-backend.googleapis.com可限制密钥仅用于Google Maps服务,提升安全性 - 密钥字符串仅在创建时返回,后续无法再次查看,需立即保存
- 确保调用API的账号拥有足够权限,否则会返回权限错误
内容的提问来源于stack exchange,提问作者Anand Rockzz
相关产品推荐
相关产品推荐

