繁体   English   中英

使用服务帐户和oauth2来调用autoML Google API

[英]Using service accounts and oauth2 to call autoML Google API

我已经使用autoML API训练了一个图像分类模型,现在我想创建一个JAVA程序,使用该模型对给定图像进行预测。 文档中所述,此API需要OAuth范围: https//www.googleapis.com/auth/cloud-platform

我不需要用户登录,因为我不会使用任何私人数据,因此我决定使用服务帐户并按照OAuth2中的步骤为服务帐户生成访问令牌。

这个过程顺利,我得到了回应:

    {"access_token": "access_token_string", "expires_in": 3600, "token_type": "Bearer"}

然后,我返回发送autoML预测的发布请求,并将标题“Authorization”设置为“Bearer access_token_string”。 我有错误消息

{"error": 
   {
   "code": 403,
   "message": "The caller does not have permission",
   "status": "PERMISSION_DENIED"
   }
}

我知道预测请求是正确的,因为我已经尝试使用为web应用程序生成的accessToken(只是想测试)。 所以问题在于授权部分,我已经检查过我的服务帐户也拥有所有必需的权限。 我知道问题究竟在哪里,有没有人有想法?

因此,由于没有答案,我联系了Google支持服务,他们告诉我以下请求是正确的,问题在于允许服务帐户访问我的GCP项目资源。 这一步,说明这里

我已经完成了这一步,但我第一次错过了一些东西,所以我删除了服务帐户并重新启动了所有步骤,现在正在运行! 我希望这会帮助别人:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM