Praca z danymi o lokalizacji

W tym samouczku pokazujemy, jak tworzyć i edytować dane o lokalizacji. Interfejs My Business Information API pozwala:

Lokalizacje mogą być używane w Google Ads, ale muszą być zweryfikowane, aby kwalifikować się do: wyświetlają się w wyszukiwarce i Mapach Google. Dane o lokalizacji są przedstawione w formacie accounts.locations kolekcji.

Zanim zaczniesz

Aby korzystać z interfejsu My Business Information API, musisz zarejestrować swoją aplikacji i uzyskać dane logowania OAuth 2.0. Szczegółowe informacje o tym, jak zacząć za pomocą interfejsu My Business Information API znajdziesz w artykule Konfiguracja podstawowa.

Utwórz lokalizację

Interfejs My Business Information API możesz wykorzystać do utworzenia nowej lokalizacji dla firmy, accounts.locations.create

Aby utworzyć lokalizację, użyj:

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

Usuwanie lokalizacji

Możesz użyć interfejsu My Business Information API, aby usunąć lokalizację, w której: locations.delete.

Aby usunąć lokalizację, wykonaj te czynności:

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

Znajdź lokalizację według nazwy

Jeśli ze swoim kontem powiązanych jest wiele firm, warto w jedną lokalizację. Możesz filtrować według firmy konkretną nazwę, lokalizacja z locations.get.

Aby znaleźć lokalizację według nazwy, wykonaj te czynności. Aby pobrać określone pola, musisz określić maskę readMask. :

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

Zwracanie wersji Map Google

HTTP

Aby zwrócić lokalizację z Map Google, dołącz googleUpdated do adresu URL żądania, jak w tym przykładzie:

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

Jeśli brak wyników, oznacza to, że kod stanu HTTP 404 NOT FOUND to . Więcej informacji o zarządzaniu aktualizacjami Google znajdziesz tutaj.

Wyświetlenie listy lokalizacji

Zarządzając co najmniej jedną lokalizacją, warto wyświetlić wszystkie lokalizacje powiązane z Twoim kontem. Użyj accounts.locations.list Interfejs API pozwalający wyświetlić listę wszystkich lokalizacji powiązanych z użytkownikiem.

Aby wyświetlić wszystkie lokalizacje należące bezpośrednio do uwierzytelnionego użytkownika lub przez niego zarządzane, użyj funkcji następujące:

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

Użyj symbolu wieloznacznego '-' dla konta w adresie URL żądania, aby uwzględnić w adresie URL parametr wizytówki należące do osoby pośredniej (należące do grupy lub zarządzane przez grupę):

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

Filtrowanie wyników po dodaniu lokalizacji

HTTP

Aby ograniczyć wyniki zwracane po nawiązaniu połączenia, możesz użyć filtrów accounts.locations.list. Aby filtrować żądanie, dołącz wyrażenie filtra do podstawowego adresu URL, tak jak w przykładzie ten przykład:

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

Podstawowa składnia zapytań

Składnia ograniczenia: <field><operator><value>, gdzie operator to RÓWNOWAŻNE (=) lub HAS (:). Wyrażenie RÓWNE (=) oraz HAS (:) są równoważne dla wszystkich pól z wyjątkiem locationName (zobacz tabeli poniżej).

Cudzysłowy są zakodowane w ten sposób: „%22” i spacje jako znaki plusa (+).

O ile nie zaznaczono inaczej, w przypadku wszystkich porównań wielkość liter nie jest rozróżniana i porównaniami. Na przykład „4 przejazdy” będzie pasować do „4, Privet Drive”.

Łączenie wielu pól w zapytaniu filtra

Interfejs API umożliwia łączenie wszystkich pól ograniczeń za pomocą operatora I. Pamiętaj jednak: w przypadku słowa kluczowego LUB wszystkie ograniczenia muszą odnosić się . Na przykład: locationName=A OR labels=B to nie jest dozwolona.

Przykład

Poniższy przykład pokazuje wyrażenie filtra, które zwraca wszystkie lokalizacje z nazwisko „Pepé Le Pew”. Pokazuje kategorie takie jak „restauracja_francuska”. lub „restauracja_europejska”, i etykietę „Nowo otwarte”.

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

Szukaj według odległości lub konta

Poniższy przykład pokazuje, jak wyszukiwać lokalizacje w obrębie określonej odległość od punktu geograficznego:

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

Aby filtrować lokalizacje w promieniu 1600 mil od Boulder, Kolorado, USA:

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

Lista wszystkich obsługiwanych pól filtrów

Poniżej znajduje się kompletna lista wszystkich pól, których można użyć w przypadku filtrowanie:

Pola Opis i przykład
Pola pasujące do ciągu znaków
title

Firma prawdziwe imię i nazwisko

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title:"Bajis" (dopasowuje dowolną nazwę lokalizacji do podłańcucha „Bajis”)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title="Bajis" (dopasowuje dowolną nazwę lokalizacji do „Bajis” jako tokena/słowa)

categories

Kombinacja kategorii podstawowej i dodatkowych. Zwróć uwagę, że parametr „gcid:” musi zostać pominięty. W przypadku wielu kategorii, ten filtr jest dopasowywany, jeśli co najmniej jedna kategoria pasuje do tej wzorcem.

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

phone_numbers.primary_phone

Podstawowy numer telefonu w formacie E.164 (np. „+441234567890”).

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

storefront_address.region_code

Kod regionu CLDR kraju lub regionu adresu

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

storefront_address.administrative_area

Najwyższy podział administracyjny stosowany w przypadku adresów pocztowych w kraju lub regionie

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

storefront_address.locality

Miasto lub miejscowość w adresie

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

storefront_address.postal_code

Kod pocztowy adresu.

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

metadata.place_id

Jeśli ta lokalizacja została zweryfikowana i jest połączona z Mapami Google lub jest widoczna w Mapach Google, to pole jest równe identyfikatorowi lokalizacji.

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

openInfo.status

Wskazuje, czy lokalizacja jest obecnie otwarta dla firm (OPEN, CLOSED_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

Zbiór dowolnych ciągów tekstowych, które umożliwiają otagowanie firmy. W w kontraście do wszystkich pozostałych pól, ta wartość musi dokładnie odpowiadać pełnemu z uwzględnieniem wielkości liter, a nie tylko tokenem. Na przykład: Jeśli etykieta to „XX YY”, ani „XX”, lub „xx yy” będą pasować.

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

storeCode

Zewnętrzny identyfikator tej lokalizacji, który musi być niepowtarzalny w obrębie danego konta

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

Funkcje
distance

Umożliwia filtrowanie na podstawie odległości od lokalizacji od punktu geograficznego.

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

Sortuj według pola zapytania

Wyniki możesz posortować rosnąco lub według kodu sklepu według nazwy firmy lub kodu sklepu w kolejności malejącej. Jeśli chcesz podać wiele kryteriów sortowania, rozdziel je przecinkami w Ciąg tekstowy orderBy, jak w tym przykładzie:

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

Poprawianie lokalizacji

Użyj interfejsu My Business Information API, aby zaktualizować co najmniej jedno pole lokalizacji locations.patch.

Aby zmienić jedno lub więcej pól dotyczących lokalizacji, wykonaj następujące czynności:

HTTP

Dodaj pola i zaktualizowane wartości za pomocą pola lokalizacji, a następnie użyj funkcji rozdzielana przecinkami lista zaktualizowanych pól jako wartości fieldMask.

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