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

调用Google Business Profiles verificationTokens.generate接口遇404错误求助

Google My Business验证接口404错误排查方案

调用POST请求访问https://mybusinessverifications.googleapis.com/v1/verificationTokens:generate接口,请求体携带正确的Location对象却返回404 Not Found错误,该URL和官方文档一致,代码逻辑和其他正常接口一致:

$account = $this->getAccounts('XXXX');
$filter = [];
$filter['store_code'] = 'YYY';
$locations = $this->getLocations($account, $filter);
$location=$locations[0];
$response = $client->authorize()->post('https://mybusinessverifications.googleapis.com/v1/verificationTokens:generate', ['location' => $location]);
dd($response);

官方文档仅列出PERMISSION_DENIED和FAILED_PRECONDITION两种错误,但实际遇到404,可能的原因如下:

  • API未单独启用:这个验证接口属于Google My Business Verifications API,和基础的My Business API是分开的,必须在Google Cloud Console里单独启用该API。很多人只开了基础API,导致接口路径不存在。
  • Location参数格式错误:接口要求的是Location的资源名称(格式为accounts/{accountId}/locations/{locationId}),不是完整的Location对象。检查$locations[0]返回的内容,应该提取其中的name字段传入,而不是整个对象。
  • 请求格式不正确:如果用的是Guzzle这类客户端,直接传数组可能会被当作表单数据发送,而非JSON。需要手动设置Content-Type头,并把数据用json参数传递,确保是JSON格式请求:
$response = $client->authorize()->post(
    'https://mybusinessverifications.googleapis.com/v1/verificationTokens:generate',
    [
        'headers' => ['Content-Type' => 'application/json'],
        'json' => ['location' => $location['name']]
    ]
);
  • Location资源状态异常:获取到的Location可能属于未绑定当前授权账号的资源,或者该Location已被删除/处于未激活状态,导致接口无法找到对应资源,返回404。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 11:13:17