使用位置資料

本教學課程說明如何建立及編輯位置資料。My Business Business Information API 可讓您執行下列操作:

地區可以在 Google Ads 中使用,但必須 已驗證, 顯示在 Google 搜尋和地圖上。位置資料會由 accounts.locations 集合。

事前準備

使用 My Business Business Information API 之前,請務必先註冊 並取得 OAuth 2.0 憑證。進一步瞭解如何開始使用 瞭解如何整合 My Business Business Information API,請參閱基本設定

建立地點

您可以使用 My Business Business Information API,為 accounts.locations.create

如要建立位置,請使用下列工具:

HTTP
POST
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?requestId=requestId&validateOnly=True|False

{
    "storeCode": "GOOG-SYD",
    "languageCode": "en-AU",
    "title": "Google Sydney",
    "phoneNumbers": {
      "primaryPhone": "02 9374 4000"
     }
    "storefrontAddress": {
      "addressLines": [
        "Level 5",
        "48 Pirrama Road"
      ],
      "locality": "Pyrmont",
      "postalCode": "2009",
      "administrativeArea": "NSW",
      "regionCode": "AU"
    },
    "websiteUri": "https://www.google.com.au/",
    "regularHours": {
      "periods": [
        {
          "openDay": "MONDAY",
          "closeDay": "MONDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "TUESDAY",
          "closeDay": "TUESDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "WEDNESDAY",
          "closeDay": "WEDNESDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "THURSDAY",
          "closeDay": "THURSDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "FRIDAY",
          "closeDay": "FRIDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        }
      ]
    },
    "categories": {
      "primaryCategory": {
        "name": "gcid:software_company"
      }
     }
}

刪除位置

您可以使用 My Business Business Information API 刪除包含 locations.delete.

如要刪除位置,請使用下列方式:

HTTP
DELETE
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}

依名稱取得地點

如果您的帳戶有多個相關聯的商家,您可能會希望 單一位置您可以依商家進行篩選取得 含有 locations.get.

如要依據名稱取得地點,請使用下列方式:您必須指定 readMask 才能擷取特定欄位。:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask={commaSeparatedFieldsToRetrieve}

返回 Google 地圖版本

HTTP

如要傳回 Google 地圖的地點版本,請在 將 googleUpdated 傳送至要求網址,如以下範例所示:

GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}:googleUpdated?readMask={commaSeparatedFieldsToRetrieve}

如果沒有搜尋結果,404 NOT FOUND HTTP 狀態碼為 。如要進一步瞭解如何管理 Google 資訊更新,請參閱本文

列出位置

當您管理一或多個地點時,建議您列出 與您帳戶相關的所有地點使用 accounts.locations.list API,列出與使用者相關的所有地點。

如要列出已驗證使用者直接擁有或管理的所有營業地點,請使用 包括:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}

在要求網址中的帳戶使用 '-' 萬用字元,以加入 間接擁有的商家資訊 (透過群組擁有或管理):

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}

列出地點時篩選結果

HTTP

可使用篩選器限制呼叫時傳回的結果 accounts.locations.list. 如要篩選要求,請將篩選器運算式附加至基本網址,如下所示: 範例:

GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter={FIELD_NAME}=%22{YOUR_QUERY}%22

基本查詢語法

限制的語法如下: <field><operator><value>, 其中,運算子為 EQUALS (=) 或 HAS (:)。EQUALS (=) 和 HAS (:) 除了 locationName 以外,所有欄位的運算子都是相等的 (請參閱 )。

引號編碼為「%22」以及空格當做加號 (+)。

除非另有註明,否則所有比較結果都不區分大小寫 比較。例如「4 次車道」則符合「4,Privet Drive」。

在篩選器查詢中合併多個欄位

這個 API 允許 AND 連結所有欄位限制。不過 就 OR 關鍵字而言,所有限制都必須以同樣的方式 ] 欄位。例如:locationName=Alabels=B 不是 。

範例

以下範例使用的篩選器運算式會傳回含有 「Pepé Le Pew」這個名稱。顯示「french_restaurant」的類別或 「european_restaurant」和「新開幕」標籤

locationName=%22Pepé+Le+Pew%22+AND+
(categories=%22french_restaurant%22+OR+
categories=%22european_restaurant%22)+AND+
labels=%22newly+open%22

依距離或帳戶搜尋

以下範例說明如何搜尋特定地點內的地點 與地理點之間的距離:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint({latitude}, {longitude}))<{distance}

如要篩選美國科羅拉多州博爾德境內 1000 英里內的地點:

GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint(40.01, -105.27))<1000.0

所有支援的篩選器欄位清單

下方完整列出了所有可用於 篩選:

欄位 說明和範例
字串比對欄位
title

商家真實世界名稱

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title:"Bajis" (比對任何地區名稱,並以「Bajis」做為子字串)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title="Bajis" (比對任何位置名稱,並將「Bajis」做為符記/字詞)

categories

主要類別和其他類別的組合。 請注意,「gcid:」設定如有多個 類別時,這個篩選器會找出至少一個類別與此條件相符 。

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=categories="french_restaurant"

phone_numbers.primary_phone

E.164 格式的主要電話號碼 (例如「+441234567890」)。

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=phone_numbers.primary_phone="+441234567890"

storefront_address.region_code

地址所在國家/地區的 CLDR 區域代碼

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.region_code="US"

storefront_address.administrative_area

最高行政區層級,用於國家/地區的郵寄地址

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.administrative_area="CA"

storefront_address.locality

地址中的城市/鄉鎮部分

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.locality="New York"

storefront_address.postal_code

地址的郵遞區號

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.postal_code="12345"

metadata.place_id

如果這個地點已經通過驗證並連結/顯示在 Google 地圖上,則這個欄位等於地點的地點 ID

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=metadata.place_id="12345"

openInfo.status

表示地點目前是否營業中 (OPENCLOSED_PERMANENTLY)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=openInfo.status="OPEN"

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=openInfo.status="CLOSED_PERMANENTLY"

labels

一系列任意形式的字串,讓你標記你的商家。於 與其他所有欄位相比,這個值必須完全符合 也包括大小寫,而不只是符記例如:如果標籤是「XX YY」 然後都不輸入「XX」或「xx yy」將會一致。

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=labels="newly open"

storeCode

這個位置的外部 ID,在特定帳戶中不得重複

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storeCode="12345"

函式
distance

可讓您根據地理位置與地理位置點之間的距離進行篩選。

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint(1.0, -25.0))<1000.0

依查詢欄位排序

您可以按商家名稱或商家代碼來排序結果 (遞增或 遞減排序。有多個排序條件時,請以半形逗號分隔的 orderBy 字串,如以下範例所示:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode

修補位置

使用 My Business Information API,更新地點資訊的一或多個欄位: locations.patch

如要變更一個地點的一或多個欄位,請使用下列方式:

HTTP

在地區欄位新增欄位和更新的值,並使用 以半形逗號分隔的已更新欄位清單,做為 fieldMask 的值。

PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?languageCode=language&validateOnly=True|False&updateMask=title
{
    "title": "Google Shoes"
}