【发布时间】:2014-08-13 20:15:19
【问题描述】:
我正在尝试编写一个在 cron 作业上运行并将新表推送到 Google 地图引擎的程序。
在搞砸了 OAuth 一段时间后,我了解到您可以 authenticate 一个 Google Compute Engine (GCE) 虚拟机来访问一组列表 API,而无需每次都登录。我认为这似乎是一个很好的解决方案,所以我开始修改它。
我认为我已经正确设置了所有内容,但我肯定缺少某些东西,因为我无法从机器发出读取或写入请求。我用这个调用实例化了机器:
gcloud compute instances create <INSTANCE_NAME> --scopes https://www.googleapis.com/auth/mapsengine
我通过上面链接的文档页面(元数据/computeMetadata/v1......)中概述的请求来请求令牌。
但是,当我向 Maps Engine API 发出请求时,我收到一条错误消息,提示我没有读取器/写入器访问权限(取决于我正在进行的调用)。
当我实例化 VM 时,我使用了正确的开发者控制台项目,其中包括对 Maps Engine API 的访问。
我认为问题可能是我的开发者项目不知何故不知道我的 Maps Engine 帐户,即使它都在同一个 Google 帐户下。我之所以这么认为,是因为当我尝试阅读我的活动地图引擎项目时,我没有得到任何结果(如 0)。该请求通过,但它只是空空如也。但是,当我请求有关特定地图的详细信息时,我会收到 noReaderAccess 错误。
感谢您的帮助。
编辑 不能以这种方式对 Maps Engine API 进行身份验证吗?我在this 页面底部附近找到了别名范围列表,并且我认为其余的范围 API 没有别名。真的只有这些是受支持的 API 吗?
【问题讨论】:
标签: oauth google-compute-engine google-maps-engine