ビジネス情報を管理する

このチュートリアルでは、ビジネス情報を作成、編集する方法を説明します。My Business Business Information API では、次のような処理が可能です。

ビジネス情報は Google 広告で使用できますが、Google 検索や 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}

名前を指定してビジネス情報を取得する

アカウントに多くのビジネス情報が関連付けられており、その中の 1 つだけを取り出したい場合は、locations.get を使用し、ビジネス名でフィルタをかけると特定のビジネス情報を取得できます。

名前を指定してビジネス情報を取得するには、次のように記述します。特定の情報項目を取得するには、readMask を指定する必要があります。:

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

Google マップのバージョンを取得する

HTTP

ビジネス情報の Google マップ バージョンを取得するには、次のように、リクエスト URL に googleUpdated を付加します。

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

該当する結果がない場合は、HTTP ステータス コード 404 NOT FOUND が返されます。Google による変更を管理する方法について詳しくは、こちらをご覧ください。

ビジネス情報のリストを取得する

1 つ以上のビジネス情報を管理している場合は、アカウントに関連付けられているすべてのビジネス情報のリストを取得することをおすすめします。GMB API の accounts.locations.list を使用すると、特定のユーザーに関連付けられているすべてのビジネス情報のリストを取得できます。

認証済みユーザーが所有または管理するビジネス情報のリストを取得するには、次のように記述します。

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

リクエスト URL のアカウントには、'-' ワイルドカードを使用して、間接的に所有または管理されている(グループが所有、管理している)ビジネスのリスティングを含めます。

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

ビジネス情報のリスト結果を絞り込む

HTTP

accounts.locations.listを呼び出す際、フィルタを使用して結果を絞り込むことができます。 リクエストにフィルタを適用するには、ベース URL にフィルタ式を付加します。次の例をご覧ください。

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

基本的なクエリ構文

限定条件の構文は <field><operator><value> で、演算子(operator)は EQUALS(=)または HAS(:)です。EQUALS(=)と HAS(:)演算子の意味は、locationName 以外のすべてのフィールド(下の表を参照)で同等です。

引用符は「%22」、スペースはプラス記号(+)としてエンコードされます。

特に明記されていない限り、すべての比較は大文字と小文字を区別しないトークン比較です。たとえば、「4 drive」は「4, Privet Drive」と一致します。

フィルタクエリで複数のフィールドを結合する

この API では、AND を使用してすべてのフィールドの制限条件を結び付けることができますが、OR キーワードで制限条件を結びつける場合は同じフィールドでなければなりません。たとえば、locationName=A OR labels=B は許可されません。

次の例のフィルタ式は、名前が「Pepé Le Pew」、カテゴリが「french_restaurant」または「european_restaurant」、ラベルが「newly open」のビジネスをすべて返します。

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}

米国のコロラド州ボルダーから 1,000 マイル圏内にあるビジネス拠点のみを取得するには:

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:」は省略します。複数のカテゴリがある場合、少なくとも 1 つのカテゴリがこのパターンに一致すると、このフィルタは一致します。

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

このビジネスの外部識別子です。アカウント内で一意である必要があります

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 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"
}