このチュートリアルでは、ビジネス情報を作成、編集する方法を説明します。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 を使って新しいビジネス情報を作成できます。
ビジネス情報を作成するには、次のように記述します。
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 を使ってビジネス情報を削除できます。
ビジネス情報を削除するには、次のように記述します。
DELETE https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}
名前を指定してビジネス情報を取得する
アカウントに多くのビジネス情報が関連付けられており、その中の 1 つだけを取り出したい場合は、locations.get を使用し、ビジネス名でフィルタをかけると特定のビジネス情報を取得できます。
名前を指定してビジネス情報を取得するには、次のように記述します。特定の情報項目を取得するには、readMask を指定する必要があります。:
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask={commaSeparatedFieldsToRetrieve}
Google マップのバージョンを取得する
ビジネス情報の 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 を使用すると、特定のユーザーに関連付けられているすべてのビジネス情報のリストを取得できます。
認証済みユーザーが所有または管理するビジネス情報のリストを取得するには、次のように記述します。
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}
リクエスト URL のアカウントには、'-'
ワイルドカードを使用して、間接的に所有または管理されている(グループが所有、管理している)ビジネスのリスティングを含めます。
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}
ビジネス情報のリスト結果を絞り込む
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
距離またはアカウントを指定して検索する
次の例は、ある地点から指定された距離内にあるビジネス拠点の検索方法を示しています。
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 |
ビジネスの実際の名称
|
categories |
メインカテゴリと追加カテゴリの組み合わせ。 なお、「gcid:」は省略します。複数のカテゴリがある場合、少なくとも 1 つのカテゴリがこのパターンに一致すると、このフィルタは一致します。
|
phone_numbers.primary_phone |
E.164 形式のメインの電話番号(例: +441234567890)。
|
storefront_address.region_code |
住所の国または地域を表す CLDR 地域コード
|
storefront_address.administrative_area |
国または地域の住所で使われる最上位の行政区画
|
storefront_address.locality |
住所の市区町村の部分
|
storefront_address.postal_code |
住所の郵便番号
|
metadata.place_id |
ビジネスのオーナー確認が済んでおり、Google マップに関連付けられているか表示されている場合は、このフィールドはそのビジネスのプレイス ID と同じになります。
|
openInfo.status |
ビジネスが現在営業しているかどうかを表します
(
|
labels |
ビジネスにタグを付けられるようにするための自由形式の文字列のコレクションです。他のすべてのフィールドとは異なり、この値はトークンだけでなく、ラベルと完全に一致する(大文字と小文字を含む)必要があります。たとえば、ラベルが「XX YY」の場合、「XX」も「xx yy」も一致しません。
|
storeCode |
このビジネスの外部識別子です。アカウント内で一意である必要があります
|
関数 | |
distance |
特定の地点からのビジネス拠点までの距離に基づいてフィルタリングできます。
|
クエリ フィールドに基づいて並べ替える
出力結果はビジネス名や店舗コードに基づいて、昇順や降順に並べ替えられます。並べ替え基準が複数ある場合は、orderBy
に続けて、並べ替え基準をカンマで区切って指定します。次の例をご覧ください。
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode
ビジネス情報を修正する
My Business Business Information API では、locations.patch を使ってビジネス情報の項目を更新できます。
ビジネス情報の項目を変更するには、次のように記述します。
ビジネス情報の項目を指定して、項目と更新する値を追加します。更新する項目はカンマ区切りのリストにし、fieldMask
の値として指定します。
PATCH https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?languageCode=language&validateOnly=True|False&updateMask=title { "title": "Google Shoes" }