Je n'ai pas trouvé beaucoup d'informations en japonais pour obtenir des données de perspicacité à l'aide de l'API Google My Business, je les garderai donc sous forme de mémorandum.
https://developers.google.com/my-business/content/prereqs Procédure d'acquisition du jeton d'accès Google API OAuth 2.0 et du jeton d'actualisation version février 2017
Python(3.6.2)
Google My Business est un service gratuit qui vous permet d'afficher des informations commerciales enregistrées sur Google Maps et la recherche Google fournie par Google. En enregistrant votre entreprise (restaurants, salons de beauté, dentistes, etc.) dans ce service, vous pouvez faciliter la visibilité des utilisateurs lors de la recherche ou de la navigation sur la carte.
Il s'agit d'une fonction qui vous permet d'acquérir, d'enregistrer, de mettre à jour et de supprimer des informations commerciales enregistrées dans Google My Business. Par exemple, vous pouvez répondre aux avis publiés sur les entreprises, obtenir des informations d'accès (données de perspicacité) pour les entreprises, modifier les menus de la boutique, ajouter des photos, etc. systématiquement à l'aide de l'API. Je peux le faire. Dans cet article, je vais vous expliquer comment obtenir des données de perspicacité.
Ces données vous permettent de vérifier comment les utilisateurs ont trouvé et accédé aux informations Google My Business (restaurants, salons de beauté, dentistes, etc.). Plus précisément, vous pouvez vérifier les données relatives aux éléments suivants.
・ Comment l'utilisateur a recherché la page GMB ・ Requête de recherche ・ Service Google utilisé par les utilisateurs pour rechercher des pages GMB ・ Comportement de l'utilisateur ・ Nombre d'appels effectués par l'utilisateur ・ Nombre de vues des photos enregistrées · · · Etc
Pour utiliser l'API Google My Business, vous devez suivre les quatre étapes suivantes.
Après avoir créé un compte Google
1-1. Accédez à la console API Google 1-2. Cliquez sur "Créer un projet", entrez le nom du projet et cliquez sur "Créer"
2-1. Accédez à la console API Google Sélectionnez le projet créé en 2-2-1 2-3. Vérifiez l'ID du projet dans [ID du projet] 2-4. Remplissez et envoyez le Formulaire de demande d'accès. 2-5. Une fois la soumission examinée, vous recevrez un e-mail de suivi. Répondez
Dans mon cas, environ deux semaines après mon envoi, un e-mail en anglais (l'e-mail ci-dessous) indiquant "Avez-vous demandé une demande à l'API Google MyBusiness?" A été envoyé à l'adresse e-mail que vous avez saisie dans le formulaire de demande. ..
Dans un anglais simple, j'ai répondu "Oui, j'ai postulé.", Et quelques jours plus tard, j'ai reçu un e-mail dans lequel j'autoriserais l'utilisation de l'API (l'e-mail ci-dessous).
Veuillez noter les points suivants lorsque vous remplissez le formulaire. (1) Il vous sera demandé de saisir l'adresse e-mail du compte Google qui a créé le projet et l'URL de la page d'accueil de l'entreprise, mais l'URL et le domaine de l'adresse e-mail doivent correspondre. (2) Il vous sera également demandé de saisir le compte Google My Business de l'entreprise. Par conséquent, si vous n'en avez pas, vous devez en créer un à l'avance.
3-1. Accédez à la console API Google. 3-2. Cliquez sur "Bibliothèque" dans le menu de gauche de l'écran 3-3. Recherchez et cliquez sur API Google My Business 3-4. Cliquez sur le lien "Activer" en haut au centre de l'écran
Un jeton d'accès est requis lors de la demande à l'API. Même si ce jeton d'accès est émis une fois, il devient invalide après un certain laps de temps, mais il peut être réémis si vous avez un ID de nettoyeur, un secret client et un jeton d'actualisation. Par conséquent, obtenez ces informations pour utiliser l'API.
Une fois que vous avez les informations d'identification, vous pouvez obtenir les données de perspicacité en accédant à l'API à l'aide de Python.
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']
Obtenez le compte utilisateur qui gère chaque compte GMB.
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']
est un tableau de comptes de gestion. Obtenez l'ID de compte de l'utilisateur administrateur du compte GMB pour lequel vous souhaitez obtenir des informations.Utilisez l'ID de compte obtenu à l'étape 2 pour obtenir le nom d'emplacement attribué à chaque compte GMB.
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 ['locations']
est un tableau de comptes GMB liés au compte de gestion. Obtenez le nom de l'emplacement du compte GMB pour lequel vous souhaitez obtenir des informations.Une fois que vous avez votre identifiant de compte, votre nom d'emplacement et votre jeton d'accès, vous pouvez obtenir des données de perspicacité avec le code ci-dessous.
headers = {
'Authorization': 'Bearer ' + access_token,
}
#Vous pouvez définir la période cible des données Insight avec startTime et endTime.
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()
#Recherche directe
QUERIES_DIRECT = json['locationMetrics'][0]['metricValues'][0]['totalValue']['value']
#Recherche indirecte
QUERIES_INDIRECT = json['locationMetrics'][0]['metricValues'][1]['totalValue']['value']
#Recherche de marque
QUERIES_CHAIN = json['locationMetrics'][0]['metricValues'][2]['totalValue']['value']
#Afficher via la carte
VIEWS_MAPS = json['locationMetrics'][0]['metricValues'][3]['totalValue']['value']
#Affichage via la recherche
VIEWS_SEARCH = json['locationMetrics'][0]['metricValues'][4]['totalValue']['value']
#Accès au site Web
ACTIONS_WEBSITE = json['locationMetrics'][0]['metricValues'][5]['totalValue']['value']
#Nombre d'utilisateurs appelant
ACTIONS_PHONE = json['locationMetrics'][0]['metricValues'][6]['totalValue']['value']
#Demande d'itinéraire
ACTIONS_DRIVING_DIRECTIONS = json['locationMetrics'][0]['metricValues'][7]['totalValue']['value']
#Nombre de photos vues(Autres entreprises du même secteur)
PHOTOS_VIEWS_MERCHANT = json['locationMetrics'][0]['metricValues'][8]['totalValue']['value']
#Nombre de photos vues(Client)
PHOTOS_VIEWS_CUSTOMERS = json['locationMetrics'][0]['metricValues'][9]['totalValue']['value']
#Nombre de photos publiées(Autres entreprises du même secteur)
PHOTOS_COUNT_MERCHANT = json['locationMetrics'][0]['metricValues'][10]['totalValue']['value']
#Nombre de photos publiées(Client)
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()
#Valeur moyenne de l'évaluation
averageRating = json['averageRating']
#Nombre total d'avis
totalReviewCount = json['totalReviewCount']
Recommended Posts