Google API - 使用 Google_Service_MyBusinessBusinessInformation 获取位置

Posted

技术标签:

【中文标题】Google API - 使用 Google_Service_MyBusinessBusinessInformation 获取位置【英文标题】:Google API - get locations with Google_Service_MyBusinessBusinessInformation 【发布时间】:2021-12-07 07:01:57 【问题描述】:

禁用旧的 my_business api (v4),我无法获取位置。我正在使用:

$my_business_account = new Google_Service_MyBusinessAccountManagement($client);
$list_accounts_response = $my_business_account->accounts->listAccounts();
$account = $list_accounts_response[0];
$mybusinessService = new Google_Service_MyBusinessBusinessInformation($client);
$locations = $mybusinessService->accounts_locations;
$queryParams = [
    "pageSize" => 10,
    'readMask' => "user.display_name,photo"
];
$locationsList = $locations->listAccountsLocations($account->name, $queryParams);

我仍然收到 400 响应:

    Google\Service\Exception #400

  "error": 
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT",
    "details": [
      
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          
            "field": "read_mask",
            "description": "Invalid field mask provided"
          
        ]
      
    ]
  

在 API 文档中https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations/list

readMask 字段是强制性的,但不幸的是,我不知道 php API 客户端或 REST(例如 POSTMAN)的写入格式。 有人会帮忙吗?

【问题讨论】:

【参考方案1】:

我的错,使用 readMask 字段必须来自位置属性 (https://developers.google.com/my-business/reference/businessinformation/rest/v1/locations),例如。名称、网站Uri 等 也许它可以帮助某人。

【讨论】:

以上是关于Google API - 使用 Google_Service_MyBusinessBusinessInformation 获取位置的主要内容,如果未能解决你的问题,请参考以下文章

访问未配置。您的项目未启用 API (Google+ API)。请使用 Google Developers Console 更新您的配置

使用 Google Data API 使用 C# 访问 Google 电子表格

使用 google people API 访问 google 连接

Google字体API使用简单示例

使用 API 数据更新 Google 表格

Google+ 照片 API [关闭]