[Python] Obtenez des données insight à l'aide de l'API Google My Business

introduction

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.

référence

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

environnement

Python(3.6.2)

Qu'est-ce que Google My Business?

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.

Qu'est-ce que l'API Google My Business?

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é.

Qu'est-ce que les données Insight?

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

Préparations requises pour utiliser l'API

Pour utiliser l'API Google My Business, vous devez suivre les quatre étapes suivantes.

  1. Créez un projet dans Google API Console
  2. Demander l'accès à l'API
  3. Activez l'API Google My Business
  4. Obtenez les informations d'identification

1. Créez un projet dans la console API Google

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. Demander l'accès à l'API

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. ..

314efba9913dbb67409475013a389e1e.png

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).

3a9d0d6e5e0b4402156fe4bcfcf4128a-min.png

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. Activez l'API Google My Business

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

4. Obtenez les informations d'identification

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.

Procédure d'acquisition du jeton d'accès Google API OAuth 2.0 et du jeton d'actualisation version février 2017

Obtenez des données insight

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.

1. Obtenez un jeton d'accès

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. Obtenez un identifiant de compte

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/','')

3. Obtenez le nom de l'emplacement

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']

4. Obtenez des données de perspicacité à l'aide de jetons d'accès

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()

Insight Data: comment les utilisateurs récupèrent les informations de votre entreprise

#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']

Données Insight: le service Google utilisé par les utilisateurs pour rechercher les informations sur votre entreprise

#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']

Insight Data: comportement de l'utilisateur

#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']

[Données Insight]: vue / nombre de photos

#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']

Obtenez des informations d'évaluation pour votre entreprise

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

[Python] Obtenez des données insight à l'aide de l'API Google My Business
Obtenez les données de l'API Google Fit en Python
Créer une feuille de calcul Google à l'aide de l'API Python / Google Data
[Python] Obtenez tous les commentaires à l'aide de Youtube Data Api
Obtenez des données LEAD à l'aide de l'API REST de Marketo en Python
Obtenir des données Salesforce à l'aide de l'API REST
Acquisition de données à l'aide de l'API googlemap de python
[Python3] Google translate google translation sans utiliser l'API
Obtenez des données Amazon à l'aide de Keep API # 1 Obtenez des données
Obtenez des données de l'API d'analyse avec le client API Google pour python
Jouez avec l'API de données YouTube v3 à l'aide du client Python de l'API Google
[Python] J'ai essayé d'obtenir diverses informations en utilisant l'API de données YouTube!
Obtenir l'URL de l'image à l'aide de l'API Flickr en Python
Obtenez des données sur le cours de l'action avec l'API Quandl [Python]
Comment obtenir des données d'article à l'aide de l'API Qiita
Nettoyage des données à l'aide de Python
Importez un fichier JPG à l'aide de l'API Google Drive en Python
Procédure de transcription vocale à l'aide de Python et de l'API Google Cloud Speech
Reconnaissance vocale des fichiers par l'API Google Speech v2 à l'aide de Python
Une histoire sur un débutant Python essayant d'obtenir des résultats de recherche Google à l'aide de l'API
Mon conteneur d'analyse de données python
Obtenez des données Youtube avec python
Mon environnement d'analyse de données python
Conseils relatifs aux API Google Drive (Python)
Analyse de données à l'aide de pandas python
Obtenez des données à l'aide de l'API du ministère des Affaires intérieures et des Communications
Gonfler des données textuelles par retranslation à l'aide de Google Traduction en Python
[Introduction] Analyse de données satellitaires artificielles à l'aide de Python (environnement Google Colab)
Obtenez une traduction en anglais à l'aide de python google translation selenium (Remarque)
[Python] J'ai essayé de collecter des données en utilisant l'API de wikipedia
Obtenez des données LeapMotion en Python.
Obtenir des données de Quandl en Python
Obtenez des avis avec l'API googlemap de python
[Python] Accédez à l'API Google Translation
Diffusez la reconnaissance vocale à l'aide de l'API gRPC Google Cloud Speech avec python3 sur Mac!
Comment obtenir des abonnés et des abonnés de Python à l'aide de l'API Mastodon
Essayez d'utiliser l'API de Pleasant (python / FastAPI)
[Python] Obtenez des données économiques avec DataReader
Exemple d'API Boto3 (Python) que j'utilise souvent
Collectez des informations sur les produits et traitez les données à l'aide de l'API de recherche de produits Rakuten [Python]
Mémo d'acquisition de données à l'aide de l'API Backlog
python Obtenez la météo à venir de l'API météo
Essayez d'utiliser l'API d'action de Python argparse
Exécutez Ansible à partir de Python à l'aide de l'API
Obtenez des données de Twitter avec Tweepy
[SEO] Flux / exemple de code lors de l'utilisation de l'API Google Analytics en Python
Utiliser l'API Google Analytics de Python
Obtenez des données supplémentaires vers LDAP avec python
Exemple d'API Google Cloud Vision pour python
Fonctionnement de la souris à l'aide de l'API Windows en Python
[Note] Obtenir des données de PostgreSQL avec Python
Essayez d'utiliser l'API Kraken avec Python
Obtenez des données alimentaires avec l'API Amazon (Python)
Python: lecture de données JSON à partir de l'API Web
[Débutant] Scrapage Web Python facile à comprendre à l'aide de Google Colaboratory
J'ai essayé d'utiliser l'API de données YOUTUBE V3
Recevoir des e-mails à l'aide de l'API Gmail en Java
Tweet à l'aide de l'API Twitter en Python