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

WordPress文本摘要调用Google Cloud Vertex AI遇403 CONSUMER_INVALID错误排查

问题排查与修复方案

1. 修复API端点的变量拼接错误

你的代码中$endpoint的拼接存在语法错误:在双引号字符串中误用单引号包裹变量并通过.连接,导致变量无法被正确解析,最终请求的项目名变成了'.$project.'(即错误提示中的.my-posts-data-optimization.),这是触发CONSUMER_INVALID错误的核心原因。

将端点代码修改为以下两种正确写法之一:

// 写法1:双引号中直接使用变量插值
$endpoint = "https://us-central1-aiplatform.googleapis.com/v1/projects/{$project}/locations/{$location}/publishers/{$publisher}/models/{$model}:predict";

// 写法2:单引号字符串拼接变量
$endpoint = 'https://us-central1-aiplatform.googleapis.com/v1/projects/' . $project . '/locations/' . $location . '/publishers/' . $publisher . '/models/' . $model . ':predict';

2. 确认Vertex AI API已启用

即使IAM角色配置正确,如果项目未启用Vertex AI API,也会触发权限拒绝错误。登录Google Cloud控制台,进入API和服务 > 库,搜索并确认Vertex AI API已处于启用状态。

3. 验证服务账号角色的分配范围

检查服务账号php-call@my-posts-data-optimization.iam.gserviceaccount.com的角色分配:

  • 确保AI Platform Admin和Vertex AI User角色是直接分配给该账号,而非通过用户组间接分配
  • 确认角色的权限范围是当前项目my-posts-data-optimization,没有被限制在组织或其他项目层级

4. 检查模型端点的兼容性

Gemini 1.5 Flash模型在Vertex AI上推荐使用generateContent端点而非predict端点,你可以尝试调整端点路径为:

$endpoint = "https://us-central1-aiplatform.googleapis.com/v1/projects/{$project}/locations/{$location}/publishers/{$publisher}/models/{$model}:generateContent";

同时对应的请求体格式需要调整为符合generateContent的要求:

$requestBody = [
    "contents" => [
        [
            "parts" => [
                ["text" => $text_to_summarize]
            ]
        ]
    ],
    "generationConfig" => [
        "temperature" => 0.7,
        "maxOutputTokens" => 100,
        "topP" => 0.8,
        "topK" => 40
    ]
];

响应解析也需要对应修改:

return $responseBody['candidates'][0]['content']['parts'][0]['text'];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:23:15