谷歌街景上传照片元数据遇INVALID_ARGUMENT错误:API Key与凭证分属不同项目
解决Google街景照片上传时的「API Key与认证凭证跨项目」错误
嗨,这个问题我帮不少开发者排查过,咱们先把根源说清楚:你触发的这个400错误(INVALID_ARGUMENT),核心原因就是你当前用的API密钥和认证凭证(比如OAuth令牌、服务账号密钥)不属于同一个Google Cloud项目——Google的API会严格校验这两者的归属一致性,跨项目混用肯定会被拦下来。
下面给你一步步落地的解决步骤:
先搞清楚两者的归属项目
先找到你正在用的API密钥,去Google Cloud控制台的凭证页面查看它关联的项目ID;再核对你的认证凭证(不管是OAuth客户端ID生成的令牌,还是服务账号密钥)属于哪个项目,把这两个项目ID记下来。统一到同一个项目下
有两种简单的处理方式:- 把API密钥迁移到认证凭证所在的项目,或者反过来迁移认证凭证,确保两者归属完全一致;
- 直接在目标项目里重新创建一套匹配的API密钥和认证凭证——这种方式更稳妥,能避免迁移过程中可能出现的权限遗留问题。
最后别忘了检查API启用状态
确保你选定的这个项目已经启用了Street View相关的API(比如Street View Publish API),不然就算凭证和密钥匹配,也可能触发其他报错。
另外提个小细节:如果你的请求同时携带了API密钥和认证凭证,Google会优先使用认证凭证,但仍然会校验两者的项目一致性——所以哪怕你觉得自己只用了其中一个,也要确保它们的归属项目是同一个。
你遇到的具体错误信息:
{ "error": { "status": "INVALID_ARGUMENT", "message": "The API Key and the authentication credential are from different projects.", "code": 400, "details": [ { "@type": "type.googleapis.com/google.rpc.Help", "links": [ { "url": "https://console.developers.google.com/project/3624944027/apiui/credential", "description": "Google developer console API key" } ] } ] } }
内容的提问来源于stack exchange,提问作者Veeresh Veeru
相关产品推荐
相关产品推荐

