Google cloud storage 将Google Cloud Vision API授权给Google存储映像
在Node中,我尝试使用googlecloudvisionapi来分析存储在googlestorage中的图像。我已经成功地base64编码了一个图像并上传了它,但是我想通过对我在Google存储中的文件执行来加速这个过程。我的要求是这样的, {“requests”:[{“image”:{“source”:{“gcsImageUri”:“gs://mybucket/10001.jpg”},“features”:[{“type”:“LABEL_DETECTION”,“maxResults”:10}]} 但是我从我的电话中收到这个错误 {“responses”:[{“error”:{“code”:7,“message”:“image annotator::User缺少权限。:访问被拒绝:匿名调用方没有storage.objects.get访问对象mybucket/10001.jpg。”}}]} 我没有为这个请求使用任何google SDK或node_模块,只是一个浏览器API密钥和http模块。我是否必须在云存储中设置一些权限,以允许Vision API访问bucket中的对象?如果是这样,那会是什么呢?我是谷歌云平台的新手,但对AWS IAM角色有着丰富的经验 谢谢,Google cloud storage 将Google Cloud Vision API授权给Google存储映像,google-cloud-storage,google-cloud-platform,google-vision,Google Cloud Storage,Google Cloud Platform,Google Vision,在Node中,我尝试使用googlecloudvisionapi来分析存储在googlestorage中的图像。我已经成功地base64编码了一个图像并上传了它,但是我想通过对我在Google存储中的文件执行来加速这个过程。我的要求是这样的, {“requests”:[{“image”:{“source”:{“gcsImageUri”:“gs://mybucket/10001.jpg”},“features”:[{“type”:“LABEL_DETECTION”,“maxResults”:10}
VIPER您可能正在匿名调用Cloud Vision API,其中包含一个不可公开读取的GCS图像。您可能提供了API密钥,但API密钥不会对请求进行身份验证。您可以通过以下两种方式之一解决此问题:
gsutil acl ch-g alluser:R gs://mybucket/10001.jpg
其实有两种方法,第一种是
1) 打开google cloud vision的存储桶,将有一个名为“公开共享”的选项,并为您要测试的文档标记为“是”。然后运行代码,您将获得所需的结果。因此,通过使用google auth library nodejs,我能够获得一个包含承载令牌的授权头,现在当我使用添加的令牌进行调用时,我收到了这个错误消息:“Project尚未激活vision.googleapis.com API。请为Project google.com启用API:cloudsdktool(#32555940559)。”知道如何将其“激活”到我正在使用的服务帐户吗?谢谢如果未为您的项目启用Vision API,请单击此链接:,然后确保在右上角选择了您的项目,然后单击“启用”。然而,我不认为这是你的问题:“google.com:cloudsdktool”不是你的项目。这是一个演示项目。确保您正在使用自己项目的客户端ID而不是演示项目进行身份验证。看起来您正在使用
gcloud auth login
获取身份验证令牌。请尝试下载并使用gcloud auth activate service account
,或者使用GOOGLE\u APPLICATION\u CREDENTIALS
环境变量来指向服务帐户json文件的路径。