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.
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
Python(3.6.2)
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.
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.
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
Um die Google My Business-API zu verwenden, müssen Sie die folgenden vier Schritte ausführen.
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-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. ..
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).
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-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"
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.
Sobald Sie über die Anmeldeinformationen verfügen, können Sie die Insight-Daten abrufen, indem Sie mit Python auf die API zugreifen.
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']
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/','')
Json ['accounts']
ist ein Array von Verwaltungskonten. Rufen Sie die Konto-ID des Administrators des GMB-Kontos ab, für das Sie Insight-Daten erhalten möchten.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']
Json ['location']
ist eine Reihe von GMB-Konten, die mit dem Verwaltungskonto verknüpft sind. Rufen Sie den Standortnamen des GMB-Kontos ab, für das Sie Insight-Daten erhalten möchten.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()
#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']
#Anzeige über Karte
VIEWS_MAPS = json['locationMetrics'][0]['metricValues'][3]['totalValue']['value']
#Anzeige über Suche
VIEWS_SEARCH = json['locationMetrics'][0]['metricValues'][4]['totalValue']['value']
#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']
#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']
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