※本機能の利用は、Advancedプラン以上の契約が前提となります。

本記事の概要

この記事は、Google Places APIを用いて取得できるロケーション情報の項目である口コミ(reviews)をTROCCOのカスタムコネクタを使って取得するための方法を解説するものです。

カスタムコネクタとはConnector Builderで作られたTROCCOのコネクタの事です。
Connector Builderについてご存知ない方は、「Connector Builder(コネクタビルダー)とは」の記事から先にお読みください。

Google Maps PlatformのPlaces APIとは

スマホアプリなどでお馴染みのGoogle Mapsを動作させているバックエンドシステムを、API経由で利用できるものです。
Google Mapsが持つ数億のロケーション情報を活用して、アプリケーション開発等を行う事ができるサービスとなっています。

今回、このGoogle Maps PlatformのPlaces APIに「新版」が出ていましたので、Connector Builderを用いて口コミ情報の取得を行ってみたいと思います。

※当該APIを用いたデータ取得仕様は2025年9月時点のものです。仕様が変更となっている場合もありますので、ご注意下さい。

利用するエンドポイントは2つ

  • Text Search(New)・・・マップで検索するのと同様に、フリーテキストでロケーション情報を検索できます。今回は対象としたいロケーションのID(※=Place ID)を取得するために使います。
  • Place Details(New)・・・Place IDを使ってロケーションの各種詳細情報を取得します、こちらが本命で、詳細情報に含まれている口コミ(reviews)情報を利用します。

※Place IDとは、このPlaces APIにおいてロケーションを一意に特定するためのキーです。

Google Cloud PlatformのコンソールからPlaces API(New)を有効化する

後ほど使うAPI Keyを発行するため、コンソールからPlaces API(New)を有効化しておきましょう。
有効化したタイミングでAPI Keyが出力されるため、これを忘れずに控えておきます。

Place IDを取得する

Text Search(New)のAPIドキュメントを開き、API Explorerを使って対象のPlace IDを入手します。
今回は、富士山の口コミ情報を取得してみることにします。
Request bodyのテキストボックスの内容を下記に書き換えます。

{ 
"textQuery": "富士山" 
}

その後、「Google OAuth 2.0」のオプションにチェックを入れ、「Execute」ボタンを押下します。

OAuthの権限移譲のためのダイアログが開くので、これに応諾して処理を進めます。

レスポンスから富士山本体のPlace IDを確認する

Text Search(New)は指定したキーワードに対して一致した結果を複数返す仕様です。従って、同名のロケーションが存在する場合は複数の情報を返す場合があります。
今回は、下記レスポンスに富士山本体の情報がありそうだったためこのデータのPlace IDを取得します。

富士山のPlace IDは「ChIJmcj9QppiGWAR36TzFsn8oaY」という結果が得られたので、これを控えておきます。

(↓キーワード「富士山」でのAPI実行で得られたレスポンスより抜粋)

Place Details(新規)で、Place IDを使って詳細情報を取得する

こちらのページで、Place Detailsの説明を読む事ができ、APIを実際に試す事ができます。
先ほど得られた富士山のPlace IDを使って、目的の口コミ情報が得られるか試してみましょう。

  • name項目の「place/~~~」の部分に富士山のPlace IDを入力します。
  • languageCodeの項目は「ja」(日本語)を入力します。

languageCodeについては、お使いのGoogleアカウントの言語設定に従ってデフォルト値が決まる様です。入力を省略しても、アカウントの言語設定が日本語であれば自動的にjaが入った体裁でAPIを試す事ができます。

(↓Place Details(新規)で得られた富士山の詳細情報より抜粋。投稿者の名前は*でマスキングしています。)

取得できる口コミは、「関連性の高い順」で選出された5個まで

Places APIを用いて取得できる口コミは全てではなく、「関連性が高い」とGoogle Mapsに判定されている口コミの上位5件となっています。
選定の基準は不明ですが、一定量の文字数がありユーザーにとって参考となる情報かどうかで判断がされているようです。通常、Google Mapsを使ってロケーション情報を調べようとした時にトップに出てくる口コミはこの「関連性の高い順」になるので、ある意味ではユーザーからどう見られるかを検証するためのデータにはなるかと思います。

カスタムコネクタの設定

取得できる口コミ情報の形がわかりましたので、次に本命のカスタムコネクタを設定していきます。

  • 左メニューより「カスタムコネクタ」を選択
  • 「新規作成」ボタンを押下
  • 任意の名前と説明を記入します
  • カスタムコネクタは増えてくると、何に対しての接続仕様を実現するものかがわかりにくくなりやすいので、メモ欄を活用することをお勧めします

コネクタ情報を埋めます。

  • ベースURLを記入します

https://places.googleapis.com

次は認証情報です。

  • 認証種別・・・APIキー
  • 認証ヘッダー名・・・X-Goog-Api-Key
  • 認証スキーム・・・なし(空白)

続いて、エンドポイント情報を追加していきます。

  • 任意の名前をつけます
  • パスを指定します

下記の様にplace_idを波括弧で囲って記入することで、転送設定を行う際に取りたいロケーションのPlace IDを変数として差し込める様になります。
複数のロケーションに対して転送を作成する際に便利です。

/v1/places/{place_id}
  • パスパラメータを指定します
    • パラメーター表示名・・・任意の名前(例ではplace_id)
    • 値・・・place_id(パスの中で波括弧で囲ったものと同じ文字列を記入する)
  • HTTPメソッドには「GET」を指定します
  • パラメータには次を指定します
    • パラメータ名・・・languageCode
    • 表示名・・・言語コード(任意)
    • デフォルト値・・・ja
  • HTTPヘッダを記入します

※言語コードを指定しない場合、デフォルトの「en」が指定されます。
日本語でレビューを取得できなくなりますので、日本語によるレビューが必要な場合は必ず設定してください。

「X-Goog-FieldMask」という項目で、APIから取得する項目をフィルターする事ができます。
今回は口コミ情報があれば十分なので、「reviews」をデフォルト値に指定しておきます。
尚、「編集可能」のオプションをチェックしておくと、転送設定作成時にこちらも上書きができます。
他項目も欲しい場合に拡張して使う事もできますので、利用シーンに合わせて活用してください。

  • JSONPathルートを指定します

今回は口コミ情報が入っている「reviews」が欲しいため、これを指定します。

$.reviews

ページング設定は「無効」のままで構いません。(固定で5件しか入ってこないためです。)

ここまで入力ができたら、一度カスタムコネクタを保存します。
カスタムコネクタでは、通常のコネクタと同様に「接続情報」を作成して利用できる仕様です。
この後の工程で接続テストを行いますが、その前に接続情報を作成します。

保存後に改めてカスタムコネクタ情報を開き、先ほど編集していたエンドポイント情報の編集画面へ戻ります。

  • 接続確認セクションにある「接続情報を追加」を押下します

別タブで接続情報の作成画面が開かれますので、記入していきます。

  • 名前・・・任意の接続情報名
  • APIキー・・・Places APIを有効化した際に入手しているAPIキー

APIキーは、当記事の「Google Cloud PlatformのコンソールからPlaces API(New)を有効化する」のセクションで控えておいたものをここに記入しましょう。

記入が終わったら、「保存」を押下して接続情報を保存します。

エンドポイントの設定画面に戻り、先ほど作成した接続情報を使ってテストをします。

  • 「接続情報を読み込む」を押下します
  • 保存しておいた接続情報を選択します
  • パスパラメータのplace_idに「ChIJmcj9QppiGWAR36TzFsn8oaY」を指定します(富士山のもの)
  • 「接続を確認」を押下します

「エンドポイントへのリクエストに成功しました。」というメッセージと、レスポンスデータが表示されれば成功です。
reviewsのデータが問題なく取れているかを確認し、「保存」を押下してカスタムコネクタの設定を終了します。

続いて、今作成したカスタムコネクタを使って転送設定を作成していきます。
左メニューから「転送設定」に入り、「新規転送設定作成」に進みます。
その後、転送元コネクタの指定場面で、「カスタムコネクタ」を選択します。

そのまま転送設定の画面を進んでいくと、転送元設定のパートでカスタムコネクタ作成時に指定したパスパラメータとヘッダーオプションの指定を行えます。
place_idだけ富士山のものをセットします。

一点注意事項があります。
転送モードを「UPSERT」、またキー名を「name」としてください。
Places APIの現行仕様では、関連度の高い口コミを5件だけ取得してくるため、全件洗い替えを指定するとその5件で口コミデータが上書きされてしまいます。
古いものはデータセットに残し、新しく上位に入ってきたものを取り込むため、UPSERTモードを使用することをお勧めします。

補足:UPSERTキーに使用している「name」のデータ構造について

当該APIで取得できる口コミのnameという項目は次の様な構造になっています。

places/{place_id}/reviews/{review_id}

review_idは単体項目としては提供されませんが、前述の様にname項目の一部として提供されます。
そのため、name項目をキーとして使うことが出来るというものでした。

(↓口コミ1件分のレスポンス。投稿者のお名前は*でマスクしてあります。)

転送設定についての詳細は省きますが、BigQueryに転送されたデータは次の様な形になります。
この転送設定を日次などでスケジュールしておけばMapsによるレビューの関連度によるピックアップに変化が起きた時は、それを差分として取り込む事が可能です。

以上、Google Places APIとTROCCOのConnector Builderを使った、Google Mapsの口コミ自動収集の作成事例でした。
皆様の利用したいシーンで活用が広がれば幸いです。

まとめ

Connector Builder なら、GUIベースで好きなサービスのコネクタを手軽に作成でき、TROCCOの公式コネクタと組み合わせて他のSaaSとのデータ統合や、DWHをはじめ、クラウドアプリケーションやGoogleスプレッドシートなど、さまざまなサービスへのデータ転送がすぐに実現できます。

コネクタの作成時にはWeb APIの知識が必要ですが、一度作成したコネクタは設定画面から簡単に何度でも再利用できます。そのため、一度コネクタを作成すれば、APIの専門知識がない現場担当者でも、手軽にデータ連携や運用の自動化が実現でき、結果として設計・実装・運用にかかる負担を大幅に削減し、開発・保守の効率向上につながります。

また、Connector Builderで作成したカスタムコネクタは、TROCCOの公式コネクタと同様のパフォーマンス・セキュリティを兼ね備えており、TROCCOに搭載されているワークフロー/定期実行/通知などの運用保守機能も利用できるため、自社で実装から運用まで行う場合と比較し、大幅なコスト削減が期待できます。今回のPlaces APIの様なAPIを介したデータ連携の初期開発・運用コストを最小化したい場合、「TROCCO」のConnector Builderは有力な選択肢となります。

ぜひ無料トライアルでその使いやすさを体験してみてください!

primeNumber編集長

primeNumberのブログを担当している編集長