Google では、お客様のビジネス プロフィールの情報をできるだけ正確に保つため、ユーザーから寄せられた報告や使用許諾コンテンツなど、さまざまなソースから集めた情報を使用しています。ビジネス オーナー提供の情報に誤りがあるという報告を受けると、Google は情報を更新し、リスティングのオーナーに通知します。リスティングのオーナーは、Google による変更を承認または拒否できます。
リスティングのオーナーは、My Business Business Information API を使用して Google による変更をチェックし、ビジネス情報が正確かどうかを確認できます。このガイドでは、変更を承認または拒否する方法について説明します。
Google による変更を管理する手順は、次のとおりです。
保留中の変更があるビジネス情報を確認する
Google による変更を承認または拒否する前に、どのビジネス情報が変更されたのかを確認する必要があります。Google による変更を把握するおすすめの方法は、Cloud Pub/Sub でリアルタイム通知を管理する方法です。Pub/Sub トピックに GOOGLE_UPDATE の通知が届けば、確認を要する変更があることがわかります。通知の locationName フィールドを見ると、Google によって変更されたビジネス情報のリソース名を確認できます。
あるいは、locations.get を呼び出し、Metadata を確認して、hasGoogleUpdated フラグがあるかどうか調べる方法もあります。"isGoogleUpdated": true であれば、情報が変更されています。そのビジネス情報に関連付けられているプレイス ID を確認してください。
リクエスト
locations.get リクエストの例を次に示します。
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}
リクエスト
locations.get レスポンスの例を次に示します。
{
"name": "locations/{locationId}",
"title": "Test Business",
"phoneNumbers": {
"primaryPhone": "02 9374 4000"
},
...
"metadata": {
"hasGoogleUpdated": true,
...
}
...
}変更されたフィールドを確認する
Google による変更の対象となっているフィールドを確認するには、locations.getGoogleUpdated を呼び出します。変更されたフィールドの詳細情報は、レスポンスの本文にある diffMask で確認できます。
リクエスト
locations.getGoogleUpdated リクエストの例を次に示します。
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}:googleUpdated
レスポンス
locations.getGoogleUpdated レスポンスの例を次に示します。この例では、phoneNumbers.primaryPhone フィールドが変更対象となっています。レスポンスに含まれている値は、提案されている訂正値です。
{
"location": {
"name": "locations/{locationId}",
"locationName": "Test Business",
"phoneNumbers": {
"primaryPhone": "+1 111 111 1111"
},
...
},
"diffMask": "phoneNumbers.primaryPhone"
}変更を承認または拒否する
変更を承認または拒否するには、locations.patch を実行します。その際、updateMask フィールドには、前の手順で取得した diffMask と同じ値を設定します。また、各フィールドには設定したい値を正確に指定してください。
変更を承認する
locations.patch リクエストの例を次に示します。
PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?updateMask=phoneNumbers.primaryPhone
{
"phoneNumbers": {
"primaryPhone": "+1 111 111 1111"
},
}
レスポンス
locations.patch レスポンスの例を次に示します。
{
"name": "locations/{locationId}",
"locationName": "Test Business",
"phoneNumbers": {
"primaryPhone": "+1 111 111 1111"
},
...
}変更を拒否する
locations.patch リクエストの例を次に示します。
PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?updateMask=phoneNumbers.primaryPhone
{
"name": "locations/{locationId}",
"locationName": "Test Business",
"phoneNumbers": {
"primaryPhone": "222 222 2222"
},
...
}
レスポンス
locations.patch レスポンスの例を次に示します。
{
"name": "locations/{locationId}",
"locationName": "Test Business",
"phoneNumbers": {
"primaryPhone": "222 222 2222"
},
...
}結果を確認する
ビジネス情報が正常に更新されると、locations.getGoogleUpdated レスポンスの diffMask フィールドに "diffMask": "" と表示されます。また、Metadata 内のフラグ "hasGoogleUpdated" は false と表示されるか、何の値も表示されません。
フィールドの値にご不明な点がある場合は、サポートチームにお問い合わせください。その際には、getGoogleUpdated のリクエストとレスポンスをご記載ください。リクエストには、locations.patch の呼び出しの前のレスポンス、patch の呼び出し、および getGoogleUpdated の呼び出しを含めてください。