· HARUBOUYA · dataflow · 7 min read

Google Business Profile APIは申請が通らないと使えない。準備と段取り

店舗情報やクチコミをプログラムから扱う公式APIです。有効化する前にアクセス申請の承認が必要で、ここが日程の最大のリスクになります。

Google Business Profile連携用APIと書かれたカバー画像

店舗情報の更新やクチコミの取得を自動化したいときに使うのが Google Business Profile APIです。公式で用意されているのに、キーを作ればすぐ動く類のものではありません。

問題

このAPIはアクセス申請の承認制です。申請フォームを出し、Googleの審査を通って初めて有効化できるようになります。

承認までの期間は公式に公表されていません。数日で通ったという報告もあれば、数か月かかった例もあります。つまり日程を自分で決められない工程が、開発の一番手前に存在します。

「来月リリース」という話が来たとき、最初に確認すべきはコードではなく申請の状況です。

仕組み

全体の流れは次のとおりです。

段階内容目安
前提60日以上運用している確認済みのビジネスプロフィール事前に必要
1Google Cloud でプロジェクトを作成即日
2アクセス申請フォームを提出1日
3Googleによる審査数日〜数か月
4承認後に対象APIを有効化即日
5OAuth 2.0 の設定と店舗オーナーの認証1〜2日
6本番運用—

前提として、プロフィールと一致する事業用のWebサイトが公開されていることも求められます。ここが欠けていると申請自体が通りません。

やること

1. プロジェクトを作る

Google Cloud コンソールを開き、画面上部の「プロジェクトを選択」から「新しいプロジェクト」を選びます。名前を付けて「作成」を押します。表示されるプロジェクトIDは後で使うので控えます。

2. 申請フォームを出す

フォームは英語です。用途、会社情報、プライバシーポリシーのURL、利用規約のURLを記入します。URL2つは必須なので、申請前にページを公開しておきます。 用途欄は「自社が管理する店舗の情報更新を自動化したい」程度の平易な説明で足ります。

3. 承認を待つ間に別作業を進める

待ち時間が読めないため、この間に画面側の実装、店舗マスタの設計、認証情報の保管方法の検討を進めます。日程表では審査を4〜8週間で見積もっておくと安全です。

4. APIを有効化する

承認後、Google Cloud コンソールの左メニューから「APIとサービス」→「ライブラリ」を開きます。必要なAPIを検索して「有効にする」を押します。承認直後は検索に出てこないことがあるため、時間を置いて再検索してください。

5. 認証情報を作る

「APIとサービス」→「認証情報」→「認証情報を作成」→「OAuth 2.0 クライアント ID」を選びます。生成されたJSONファイルをダウンロードし、初回の認証を通します。ここで得られる再認証用のトークンは、コードに直書きせず秘密情報の保管サービスに置きます。

6. 店舗の識別子を取得する

アカウントの識別子、次に店舗の識別子、の順に取得し、自社の店舗マスタと紐づける対応表を用意します。店舗数が増えたときの追加手順もここで決めておきます。

7. 上限に備える

呼び出し回数には上限があります。超えると429というエラーが返ります。左メニュー「IAMと管理」→「割り当て」で対象APIを絞り込み、1分あたりのリクエスト数の引き上げを申請できます。あわせて、失敗時に間隔を空けて再試行する処理を最初から実装しておきます。

失敗例

やりがちなこと起きること
承認を1週間で見込みますリリース日が動かせず現場が止まります
規約ページを後回しにします申請が差し戻されます
トークンをコードに直書き権限の管理も差し替えもできなくなります
上限対策を後付け店舗数が増えた本番初日に失敗が多発
対応表を持ちませんどの店舗のデータか追えなくなります

まとめ

  • 審査の期間が読めない点が最大のリスク
  • 前提となるプロフィールとサイトを先に整えます
  • 規約とプライバシーポリシーは申請前に公開
  • 待ち時間は設計と周辺実装にあてます
  • 呼び出し上限と再試行は初期設計に含めます

段取りの勝負どころは、コードを書く前の確認にあります。

Share:

参考になったら、いいねを押してください。

コメント

    お名前とコメントは、確認後にこのページで公開されます。メールアドレスや電話番号などは書かないでください。

    Back to Blog

    Related Posts

    View All Posts »