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

Google Business Profile API调用accounts.list返回400错误排查

调用accounts.list接口返回400 INVALID_ARGUMENT错误修复

问题表现

调用Google My Business的accounts.list接口拉取账号列表时,返回如下400错误:

{
  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "type",
            "description": "Field is required"
          },
          {
            "field": "account_name",
            "description": "Field is required"
          },
          {
            "field": "primary_owner",
            "description": "Field is required"
          }
        ]
      }
    ]
  }
}

查阅官方文档未发现该接口标注必填请求字段,无法定位报错原因,初始PHP调用代码如下:

curleo('https://mybusinessaccountmanagement.googleapis.com/v1/accounts',$token['access_token'], $data = '');

function curleo($url, $token, $postdata){
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$token));
    $result = curl_exec($ch);
    curl_close($ch);
    print_r($result);
}

根因分析

accounts.list是列表查询接口,规范HTTP请求方法为GET。初始代码错误使用POST方法发起请求,空的POST请求体被服务端识别为账号创建请求,因此触发创建账号场景下的参数校验逻辑,要求传入type、account_name、primary_owner等必填字段,最终抛出参数缺失错误。

修复方案

将请求方法从POST修改为GET,移除POST请求体相关配置,修复后可正常调用的PHP代码如下:

curl_get('https://mybusinessaccountmanagement.googleapis.com/v1/accounts',$token['access_token']);
    
function curl_get($url, $token){
    $curl = curl_init();

    curl_setopt_array($curl, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "GET",
      CURLOPT_HTTPHEADER => array(
        'Authorization: Bearer '.$token
      ),
    ));
    
    $response = curl_exec($curl);
    $err = curl_error($curl);
    
    curl_close($curl);
    print_r($response);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 21:21:32