我已经使用 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 预测的 post 请求,并将标题“Authorization”设置为“Bearer access_token_string”。我有错误信息
{"error":
{
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}
我知道预测请求是正确的,因为我已经使用为 Web 应用程序生成的 accessToken 进行了尝试(只是想测试)。所以问题出在授权部分,我检查了我的服务帐户是否也具有所有必需的权限。我不知道问题到底出在哪里,有人知道吗?