在JupyterLab上使用以下代码来运行谷歌视频智能包:
from google.cloud import videointelligence
import os
client = videointelligence.VideoIntelligenceServiceClient.from_service_account_json("VidIntelligence.json")
job = client.annotate_video(
input_uri='gs://vidintelligencebucket/The Simpsons - Monopoly Night.mp4',
features=['LABEL_DETECTION', 'SHOT_CHANGE_DETECTION'])
result = job.result()当我运行它时,会出现以下错误:
PermissionDenied: 403 The caller does not have permission有什么建议吗?
发布于 2022-03-06 08:09:22
我遇到了这个问题。我很确定这是你的谷歌存储桶中的视频文件的权限。因为如果您转到API > Dashboard,您应该会看到您的视频API被调用并注册了4XX错误。因此,调用API并不是问题。
奇怪的是,即使当我将视频文件权限设置为allUsers READ时,我也会得到这个错误,请注意,这个桶权限是基于粒度的。使用Storage,我的服务帐户仍然可以下载文件,但只有视频API不能工作。
我再次尝试使用统一控制桶,并允许读取到@.iam.gserviceaccount.com,然后这里的文件是可访问的,视频API工作。
https://stackoverflow.com/questions/61579200
复制相似问题