[Python] Abrufen von Insight-Daten mithilfe der Google My Business-API

Einführung

Ich konnte auf Japanisch nicht viele Informationen finden, um mithilfe der Google My Business-API Einblicke zu erhalten. Daher werde ich diese als Memorandum aufbewahren.

Referenz

https://developers.google.com/my-business/content/prereqs Google API OAuth 2.0-Zugriffstoken und Erfassungsverfahren für das Aktualisieren von Token, Version Februar 2017

Umgebung

Python(3.6.2)

Was ist Google My Business?

Google My Business ist ein kostenloser Dienst, mit dem Sie registrierte Geschäftsinformationen in Google Maps und der von Google bereitgestellten Google-Suche anzeigen können. Durch die Registrierung Ihres Unternehmens (Restaurants, Schönheitssalons, Zahnärzte usw.) in diesem Dienst können Sie Benutzern das Anzeigen beim Durchsuchen oder Durchsuchen der Karte erleichtern.

Was ist die Google My Business-API?

Mit dieser Funktion können Sie in Google My Business registrierte Geschäftsinformationen erfassen, registrieren, aktualisieren und löschen. Sie können beispielsweise auf geschäftlich veröffentlichte Bewertungen antworten, Zugriffsinformationen (Insight-Daten) für Unternehmen abrufen, Shop-Menüs bearbeiten, Fotos hinzufügen usw., indem Sie die API systematisch verwenden. Ich kann es schaffen In diesem Artikel werde ich erklären, wie man Insight-Daten erhält.

Was sind Insight-Daten?

Mithilfe dieser Daten können Sie überprüfen, wie Nutzer Google My Business-Informationen gefunden haben und auf diese zugegriffen haben (Restaurants, Schönheitssalons, Zahnärzte usw.). Insbesondere können Sie die Daten überprüfen, die sich auf die folgenden Elemente beziehen.

・ Wie der Benutzer die GMB-Seite durchsucht hat · Suchanfrage ・ Google-Dienst, mit dem Nutzer GMB-Seiten durchsuchen ・ Benutzerverhalten ・ Anzahl der vom Benutzer getätigten Anrufe ・ Anzahl der Aufrufe registrierter Fotos · · · Etc

Vorbereitungen zur Verwendung der API erforderlich

Um die Google My Business-API zu verwenden, müssen Sie die folgenden vier Schritte ausführen.

  1. Erstellen Sie ein Projekt in Google API Console.
  2. Fordern Sie den Zugriff auf die API an
  3. Aktivieren Sie die Google My Business-API
  4. Holen Sie sich Anmeldeinformationen

1. Erstellen Sie ein Projekt in der Google API-Konsole

Nach dem Erstellen eines Google-Kontos

1-1 Wechseln Sie zur Google API Console 1-2. Klicken Sie auf "Projekt erstellen", geben Sie den Projektnamen ein und klicken Sie auf "Erstellen".

2. Fordern Sie den Zugriff auf die API an

2-1 Wechseln Sie zur Google API Console Wählen Sie das in 2-2-1 erstellte Projekt aus 2-3. Überprüfen Sie die Projekt-ID unter [Projekt-ID]. 2-4. Füllen Sie das [Zugriffsanforderungsformular] aus und senden Sie es ab (https://docs.google.com/forms/d/e/1FAIpQLSfC_FKSWzbSae_5rOpgwFeIUzXUF1JCQnlsZM_gC1I2UHjA3w/viewform). 2-5. Nachdem der übermittelte Inhalt überprüft wurde, erhalten Sie eine Folge-E-Mail. Antworten Sie also

In meinem Fall wurde ungefähr zwei Wochen nach dem Absenden eine englische E-Mail (die folgende E-Mail) mit der Aufschrift "Haben Sie eine Anfrage bei der Google MyBusiness-API beantragt?" An die E-Mail-Adresse gesendet, die Sie im Anfrageformular eingegeben haben. ..

314efba9913dbb67409475013a389e1e.png

Ich antwortete in einfachem Englisch: "Ja, ich habe mich beworben." Und einige Tage später erhielt ich eine E-Mail mit dem Hinweis, dass ich die API verwenden durfte (die E-Mail unten).

3a9d0d6e5e0b4402156fe4bcfcf4128a-min.png

Bitte beachten Sie beim Ausfüllen des Formulars die folgenden Punkte. (1) Sie werden aufgefordert, die E-Mail-Adresse des Google-Kontos, mit dem das Projekt erstellt wurde, und die Homepage-URL des Unternehmens einzugeben. Die URL und die Domain der E-Mail-Adresse müssen jedoch übereinstimmen. (2) Sie werden außerdem aufgefordert, das Google My Business-Konto des Unternehmens einzugeben. Wenn Sie also kein Konto haben, müssen Sie im Voraus ein Konto erstellen.

3. Aktivieren Sie die Google My Business-API

3-1 Wechseln Sie zur Google API Console. 3-2. Klicken Sie im linken Menü des Bildschirms auf "Bibliothek" 3-3. Suchen Sie und klicken Sie auf Google My Business API 3-4. Klicken Sie oben in der Mitte des Bildschirms auf den Link "Aktivieren"

4. Holen Sie sich Anmeldeinformationen

Ein Zugriffstoken ist erforderlich, wenn eine Anforderung an die API gestellt wird. Selbst wenn dieses Zugriffstoken einmal ausgestellt wird, wird es nach einer bestimmten Zeit ungültig. Es kann jedoch erneut ausgestellt werden, wenn Sie über eine Reinigungsmittel-ID, ein Clientgeheimnis und ein Aktualisierungstoken verfügen. Holen Sie sich daher diese Informationen, um die API zu verwenden.

Google API OAuth 2.0-Zugriffstoken und Erfassungsverfahren für das Aktualisieren von Token, Version Februar 2017

Erhalten Sie Einblicke in Daten

Sobald Sie über die Anmeldeinformationen verfügen, können Sie die Insight-Daten abrufen, indem Sie mit Python auf die API zugreifen.

1. Holen Sie sich ein Zugriffstoken

import requests

data = [
  ('grant_type', 'refresh_token'),
  ('client_id', '978904852xx-xxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com'),
  ('client_secret', 'qlDgUPlOIxxxxxxx5-L0yW'),
  ('refresh_token', '1/9OEydqvV2IExxxxxxxxxxxxxxxxxxx00vWVQ1CCs'),
]

response = requests.post('https://accounts.google.com/o/oauth2/token', data=data)

json = response.json()
access_token = json['access_token']

2. Holen Sie sich eine Konto-ID

Rufen Sie das Benutzerkonto ab, das jedes GMB-Konto verwaltet.


headers = {
    'Authorization': 'Bearer ' + access_token,
}

response = requests.get('https://mybusiness.googleapis.com/v4/accounts', headers=headers)
json = response.json()

account_id = json['accounts'][0]['name'].replace('accounts/','')

3. Rufen Sie den Standortnamen ab

Verwenden Sie die in Schritt 2 erhaltene Konto-ID, um den Standortnamen zu erhalten, der jedem GMB-Konto zugewiesen wurde.


headers = {
    'Authorization': 'Bearer ' + access_token,
}

response = requests.get('https://mybusiness.googleapis.com/v4/accounts/'+account_id+'/locations', headers=headers)
json = response.json()

location_name = json['locations'][0]['name']

4. Erhalten Sie Insight-Daten mithilfe von Zugriffstoken

Sobald Sie Ihre Konto-ID, Ihren Standortnamen und Ihr Zugriffstoken haben, können Sie Insight-Daten mit dem folgenden Code abrufen.


headers = {
    'Authorization': 'Bearer ' + access_token,
}

#Sie können den Zielzeitraum für Insight-Daten mit startTime und endTime festlegen.
data = '{\'locationNames\':[\''+location_name+'\',],\'basicRequest\':{\'metricRequests\':[{\'metric\':\'ALL\'}],\'timeRange\':{\'startTime\':\'2020-10-01T04:00:00.00000000Z\',\'endTime\':\'2020-10-2T04:00:00.00000000Z\',},},}'

response = requests.post('https://mybusiness.googleapis.com/v4/accounts/'+account_id+'/locations:reportInsights', headers=headers, data=data)

json = response.json()

Insight-Daten: Wie Benutzer Ihre Geschäftsinformationen abrufen

#Direkte Suche
QUERIES_DIRECT = json['locationMetrics'][0]['metricValues'][0]['totalValue']['value']
#Indirekte Suche
QUERIES_INDIRECT = json['locationMetrics'][0]['metricValues'][1]['totalValue']['value']
#Markensuche
QUERIES_CHAIN = json['locationMetrics'][0]['metricValues'][2]['totalValue']['value']

Insight-Daten: Der Google-Dienst, mit dem Nutzer nach Ihren Geschäftsinformationen gesucht haben

#Anzeige über Karte
VIEWS_MAPS = json['locationMetrics'][0]['metricValues'][3]['totalValue']['value']
#Anzeige über Suche
VIEWS_SEARCH = json['locationMetrics'][0]['metricValues'][4]['totalValue']['value']

Insight-Daten: Benutzerverhalten

#Zugang zur Website
ACTIONS_WEBSITE = json['locationMetrics'][0]['metricValues'][5]['totalValue']['value']
#Anzahl der anrufenden Benutzer
ACTIONS_PHONE = json['locationMetrics'][0]['metricValues'][6]['totalValue']['value']
#Routenanfrage
ACTIONS_DRIVING_DIRECTIONS = json['locationMetrics'][0]['metricValues'][7]['totalValue']['value']

[Insight-Daten]: Ansicht / Anzahl der Fotos

#Anzahl der angesehenen Fotos(Andere Unternehmen in der gleichen Branche)
PHOTOS_VIEWS_MERCHANT = json['locationMetrics'][0]['metricValues'][8]['totalValue']['value']
#Anzahl der angesehenen Fotos(Kunde)
PHOTOS_VIEWS_CUSTOMERS = json['locationMetrics'][0]['metricValues'][9]['totalValue']['value']
#Anzahl der geposteten Fotos(Andere Unternehmen in der gleichen Branche)
PHOTOS_COUNT_MERCHANT = json['locationMetrics'][0]['metricValues'][10]['totalValue']['value']
#Anzahl der geposteten Fotos(Kunde)
PHOTOS_COUNT_CUSTOMERS = json['locationMetrics'][0]['metricValues'][11]['totalValue']['value']

Erhalten Sie Bewertungsinformationen für Ihr Unternehmen

headers = {
    'Authorization': 'Bearer '+access_token,
}

response = requests.get('https://mybusiness.googleapis.com/v4/'+location_name+'/reviews', headers=headers)

json = response.json()

#Durchschnittswert der Bewertung
averageRating = json['averageRating']

#Gesamtzahl der Bewertungen
totalReviewCount = json['totalReviewCount']

Recommended Posts

[Python] Abrufen von Insight-Daten mithilfe der Google My Business-API
Holen Sie sich Google Fit API-Daten in Python
Erstellen einer Google-Tabelle mit der Python / Google Data-API
[Python] Holen Sie sich alle Kommentare mit Youtube Data Api
Holen Sie sich LEAD-Daten mit der REST-API von Marketo in Python
Abrufen von Salesforce-Daten mithilfe der REST-API
Datenerfassung mit Python Googlemap API
[Python3] Google übersetzt Google Übersetzung ohne Verwendung von API
Abrufen von Amazon-Daten mit Keep API # 1 Abrufen von Daten
Abrufen von Daten aus der Analyse-API mit Google API Client für Python
Spielen Sie mit der YouTube Data API v3 mit dem Google API Python Client
[Python] Ich habe versucht, mithilfe der YouTube-Daten-API verschiedene Informationen abzurufen!
Holen Sie sich die Bild-URL mithilfe der Flickr-API in Python
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
So erhalten Sie Artikeldaten mithilfe der Qiita-API
Datenbereinigung mit Python
Laden Sie eine JPG-Datei mit der Google Drive-API in Python hoch
Sprachtranskriptionsverfahren mit Python und Google Cloud Speech API
Sprachdateierkennung durch Google Speech API v2 mit Python
Eine Geschichte über einen Python-Anfänger, der versucht, Google-Suchergebnisse mithilfe der API abzurufen
Mein Python-Datenanalyse-Container
Holen Sie sich Youtube-Daten mit Python
Meine Python-Datenanalyseumgebung
Google Drive API-Tipps (Python)
Datenanalyse mit Python-Pandas
Erhalten Sie Daten mithilfe der API des Ministeriums für innere Angelegenheiten und Kommunikation
Aufblasen von Textdaten durch erneute Übersetzung mithilfe der Google-Übersetzung in Python
[Einführung] Künstliche Satellitendatenanalyse mit Python (Google Colab-Umgebung)
Holen Sie sich eine englische Übersetzung mit Python Google Translation Selen (Hinweis)
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Holen Sie sich LeapMotion-Daten in Python.
Holen Sie sich Bewertungen mit Python Googlemap API
[Python] Klicken Sie auf die Google Übersetzungs-API
Streamen Sie die Spracherkennung mithilfe der gRPC-API von Google Cloud Speech mit Python3 auf dem Mac!
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
Versuchen Sie es mit der Pleasant-API (Python / FastAPI).
[Python] Mit DataReader Wirtschaftsdaten abrufen
Boto3 (Python) API-Beispiel, das ich oft benutze
Sammeln Sie Produktinformationen und Prozessdaten mit der Rakuten-Produktsuch-API [Python].
Datenerfassungsnotiz mit der Backlog-API
Python Holen Sie sich das kommende Wetter von der Wetter-API
Versuchen Sie es mit der Aktions-API von Python argparse
Führen Sie Ansible über Python mithilfe der API aus
Holen Sie sich Daten von Twitter mit Tweepy
[SEO] Flow / Beispielcode bei Verwendung der Google Analytics-API in Python
Verwenden Sie die Google Analytics-API von Python
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Google Cloud Vision API-Beispiel für Python
Mausbedienung mit Windows-API in Python
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Versuchen Sie, die Kraken-API mit Python zu verwenden
Holen Sie sich Lebensmitteldaten mit Amazon API (Python)
Python: Lesen von JSON-Daten von der Web-API
[Anfänger] Leicht verständliches Python-Web-Scraping mit Google Colaboratory
Ich habe versucht, YOUTUBE Data API V3 zu verwenden
Erhalten Sie E-Mails mithilfe der Google Mail-API in Java
Tweet mit der Twitter-API in Python