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 を使用した認証が必要です。本記事では[…]
また、認証の際には以下のスコープを追加してください。
https://www.googleapis.com/auth/business.manage店舗情報の取得
パフォーマンス情報を取得するには、事前にLocationのIDを取得しておく必要があります。
LocationIDを取得する方法は以下の記事を参考にしてください。
Google Business Profile API を利用することで、Bubble から Google マップに投稿された口コミを取得・編集・削除 することが可能です。本記事では、Bubble の API Connector を使って[…]
必須の 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 as | Action/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
| Authorization | Bearer [アクセストークン] |
アクセストークンについて
アクセストークンの有効期限は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 | 指定日の指標の値 値がない場合は表示されません。 |