Google Business Profile APIを使用して Location のパフォーマンス情報を取得する方法

Google Business Profile APIを使用して Location のパフォーマンス情報を取得する方法

Google Business Profile API(GBP API)を利用すると、Google マップや検索での 店舗(Location)のパフォーマンスデータ を取得できます。本記事では、Google API の getDailyMetricsTimeSeries エンドポイントを使用し、Bubble の API Connector を使ってパフォーマンスデータを取得する方法 を解説します。

アクセストークンの取得

Google Business Profile(GBP) APIを使用するには、まずOAuth2.0認証を行いアクセストークンを取得する必要があります。
アクセストークンを取得する方法は以下の記事で解説しています。

関連記事

Google Calendar API や Google Drive API、Gmail API などの Google アカウントに紐づいたサービスを Bubbleで利用するには、OAuth 2.0 を使用した認証が必要です。本記事では[…]

BubbleでGoogle OAuth 2.0 APIを設定する方法

また、認証の際には以下のスコープを追加してください。

https://www.googleapis.com/auth/business.manage

店舗情報の取得

パフォーマンス情報を取得するには、事前にLocationのIDを取得しておく必要があります。
LocationIDを取得する方法は以下の記事を参考にしてください。

関連記事

Google Business Profile API を利用することで、Bubble から Google マップに投稿された口コミを取得・編集・削除 することが可能です。本記事では、Bubble の API Connector を使って[…]

Bubble で Google 口コミの一覧を取得する方法

必須の API & 設定

Google 口コミを操作するには、以下の API を有効にする必要があります。

API名用途
Business Profile Performance APIパフォーマンス情報取得

Google Cloud Console で上記の API を有効化し、OAuth 2.0 認証を設定してください。

サイドメニューの「APIとサービス」→「ライブラリ」から使用したいGoogle APIを検索し、APIの詳細画面でそのAPIを有効化します。

Location のパフォーマンスデータを取得

Google Business Profile Performance API (businessprofileperformance.googleapis.com) の fetchMultiDailyMetrics を使用すると、日ごとのパフォーマンスデータを取得できます。

取得可能な指標(dailyMetric

指標説明
BUSINESS_FOOD_MENU_CLICKSビジネス プロフィールのメニュー コンテンツを表示または操作するためにクリックされた回数。
CALL_CLICKSビジネス プロフィールの通話ボタンがクリックされた回数。
BUSINESS_BOOKINGS「Google で予約」を介してビジネス プロフィールから行われた予約の数。
BUSINESS_DIRECTION_REQUESTSビジネス拠点へのルート リクエストがリクエストされた回数。
WEBSITE_CLICKSビジネス プロフィールのウェブサイトがクリックされた回数。

全ての指標を確認する際はGoogle Business Profile APIs リファレンスをご確認ください。

APIの設定

メソッドとエンドポイント

メソッドGET
エンドポイントhttps://businessprofileperformance.googleapis.com/v1/[location]
:fetchMultiDailyMetricsTimeSeries
?dailyMetrics=[dailymetric1]
&dailyMetrics=[dailymetric2]
&dailyMetrics=[dailymetric3]
&dailyMetrics=[dailymetric4]
&dailyMetrics=[dailymetric5]
&dailyRange.start_date.year=[startYear]
&dailyRange.start_date.month=[startMonth]
&dailyRange.start_date.day=[startDate]
&dailyRange.end_date.year=[endYear]
&dailyRange.end_date.month=[endMonth]
&dailyRange.end_date.day=[endDate]
Use asAction/Data

URL Parameters
この項目はエンドポイントを入力すると表示されます

dailymetric*必須。上記の取得可能な指標のうち、必要なものを入力して下さい。
例:WEBSITE_CLICKSとCALL_CLICKSを取得したい場合
…:fetchMultiDailyMetricsTimeSeries
?dailyMetrics=WEBSITE_CLICKS
&dailyMetrics=CALL_CLICKS

&dailyRange.start_date.year….
startYear必須。データを取得する期間の開始年
startMonth必須。データを取得する期間の開始月
startDate必須。データを取得する期間の開始日
endYear必須。データを取得する期間の終了年
endMonth必須。データを取得する期間の終了月
endDate必須。データを取得する期間の終了日

dailyMetricsの指定について
dailyMetricsの指定は、dailyMetrics=WEBSITE_CLICKS,CALL_CLICKS のような形では指定できません。
正しくはdailyMetrics=WEBSITE_CLICKS&dailyMetrics=CALL_CLICKS のような形にしてください。

Headers

AuthorizationBearer [アクセストークン]

アクセストークンについて
アクセストークンの有効期限は1時間です。期限が切れたアクセストークンを使用してAPIにアクセスしようとすると“401 UNAUTHENTICATED”のようなエラーレスポンスが返されます。
この際、再度アクセストークンを取得するためには「リフレッシュトークン」を使用して、アクセストークンを取得し直す必要があります。
詳細はこちら

Parameters

なし

レスポンスの解説

レスポンス例

{  "multiDailyMetricTimeSeries": [ {"dailyMetricTimeSeries": [  { "dailyMetric": "WEBSITE_CLICKS", "timeSeries": {"datedValues": [  {"date": {"year": 2025,"month": 1,"day": 1}, "value": "1"  },  {"date": {"year": 2025,"month": 1,"day": 2}, "value": "3"  }] }  }  { "dailyMetric": "CALL_CLICKS", "timeSeries": {"datedValues": [  {"date": {"year": 2025,"month": 1,"day": 1}, "value": "1"  },  {"date": {"year": 2025,"month": 1,"day": 2}, "value": "3"  }] }  }] }  ]}
項目内容
dailyMetricTimeSeries各dailyMetricの指標ごとのデータ
dailyMetric指標の種類
timeSeries.datedValues日ごとのパフォーマンスデータ
date日付(年・月・日)
value指定日の指標の値
値がない場合は表示されません。