You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Gemini API分析视频遇403权限拒绝错误,求排查方向

解决Vertex AI Gemini API 403权限拒绝(CONSUMER_INVALID)问题

核心排查方向

错误返回的CONSUMER_INVALID标识明确指向Vertex AI服务的权限问题,而非存储桶,可按以下步骤逐一验证:

1. 确认Vertex AI API已启用

检查当前项目是否开启了Vertex AI API,未启用该API会直接触发权限拒绝错误。

2. 验证服务账号权限

确保使用的服务账号至少拥有以下角色之一:

  • Vertex AI用户(roles/aiplatform.user)
  • Vertex AI管理员(roles/aiplatform.admin)
  • 包含aiplatform.predictions.generateContent权限的自定义角色

3. 简化代码认证逻辑

你的代码中同时存在vertexai.init()和手动加载凭证的操作,可能导致认证冲突,简化后的代码如下:

!pip3 install --upgrade --user google-cloud-aiplatform

import os
import vertexai
from vertexai.preview.generative_models import GenerativeModel, Part

PROJECT_ID = "[my-project-id]"
LOCATION = "asia-northeast2"
SERVICE_ACCOUNT_KEY_FILE = 'my-json-path'

# 设置环境变量后直接初始化vertexai,无需手动处理凭证刷新
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = SERVICE_ACCOUNT_KEY_FILE
vertexai.init(project=PROJECT_ID, location=LOCATION)

gemini_model = GenerativeModel("gemini-pro-vision")
video_uri = f"gs://video/highlight_001.mp4"
video = Part.from_uri(video_uri, mime_type="video/mp4")
response = gemini_model.generate_content(
    [
        video,
        """Answer the following questions below with yes or no.
        - Is there a person laughing loudly in the video? 
        """
    ]
)
print(response)

4. 确认服务账号归属

检查服务账号是否属于当前配置的PROJECT_ID,避免使用了其他项目的服务账号密钥文件。

5. 备用:存储桶权限验证

若上述步骤无效,可额外确认服务账号对视频所在GCS存储桶拥有storage.objects.get权限,可添加存储桶查看者(roles/storage.objectViewer)角色进行验证。


内容的提问来源于stack exchange,提问作者doyikim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 12:05:00