【Bubble開発】GoogleスプレッドシートからBubbleに数値を連携する実装

Bubbleで業務アプリや管理ツールを開発していると、Googleスプレッドシートに保存された数値データを条件付きで読み取り、Bubbleアプリ上に反映させたいという場面は多くあります。

この記事ではGoogle Sheets APIとBubbleを連携し、Googleスプレッドシートの特定行から数値を取得してBubbleに表示する方法を解説します。

実装イメージ動画

また、本メディアを運営する「EPICs株式会社」では、ノーコードを活用したアプリ・システム開発を行っております。

従来のスクラッチ開発に比べ、ノーコードツールを活用した開発には以下のメリットがあります。

  • 開発期間をおよそ1/3に抑えられる → 検証や新規事業に向いている
  • 開発費用をおよそ1/3に抑えられる → 浮いた費用を別の領域に利用できる
  • リリース後の改修スピードも早い → PDCAを早く回せる

日本最大級のノーコード開発実績を持つ弊社なら、高度なものもスピーディーに開発することが可能です。ぜひご相談ください。

EPICs株式会社の特徴
  • 日本最大級のノーコード開発実績 → 高度な開発もスピーディー
  • 複数のノーコードツールに対応 → 最適なツール選びで開発費用・期間を最大限抑えられる
  • マーケティングまで支援が可能
目次

実装手順

  1. Google Sheets API連携設定(OAuth2 & Bearerトークン取得)
  2. 条件でレスポンスをフィルタ
  3. 該当行から金額を抽出し、Bubbleの入力欄に表示

実装方法

Google Sheets APIの連携設定

BubbleからGoogleスプレッドシートの内容を取得するには、Google Sheets APIにリクエストを送る必要があります。
そのために、以下3つの情報をGoogle APIに伝える設定をします。

画像のAPI設定内容

項目設定内容意味・説明
(path) spreadsheetId対象のGoogleスプレッドシートのID対象のGoogleスプレッドシートのID(URLに含まれる)例: https://docs.google.com/spreadsheets/d/この部分がID/edit
(path) range読込用!A2:D100読み込むセル範囲(シート名+セル範囲)例:シート名が「読込用」で、A2〜D100を読み込む
(header) AuthorizationBearer Search for GoogleTokens:first item’s access_tokenGoogle APIを使うための認証トークン(access_token)Googleログインを使ってBubble内で取得したトークンを自動挿入している

※ この処理を行う前に、ユーザーが「Googleとの連携」を済ませておく必要があります。

たとえば「Google連携」ボタンを作成し、そこにOAuth2認証を行うワークフローを設定しておくことで、Googleからaccess_tokenを取得できます。

このトークンが取得されて初めて、APIでスプレッドシートの内容を安全に取得できるようになります。

Googleとの連携の流れ

  • Google連携用のボタンを設置
  • ボタンのワークフローに「Signup/Login with a social network」を追加
  • Provider(プロバイダー): Google
  • Access scopes:https://www.googleapis.com/auth/spreadsheets.readonly (※必要に応じて)
  • Redirect URL:自動設定でOK(必要なら指定)

条件を選択しAPIを実行

ユーザーがBubbleアプリ内で条件を選択し、連携ボタンを押すとGoogle Sheets APIが呼び出されてデータが取得されます

操作の流れ

  1. ドロップダウンなどで条件を選択
  2. 「連携」ボタンを押す
  3. ワークフローが実行され、API ConnectorのSheets APIが実行
  4. 読込用!A2:D100 のセル範囲がGoogleから返される

今回の実装だと、「手当」を選択し、加算用ドロップダウン「インセンティブA」を選択、連携ボタンを押すと、Sheets APIが呼び出され、指定範囲のデータが取得されています。

レスポンスを条件で一致する行をフィルタリング

Google Sheets APIから返ってきたデータ(行のリスト)は、そのままでは全件分の情報が含まれている状態です。
その中から、「ユーザーが選んだ条件(例:ユーザーID・カテゴリ・年月)に一致する1行だけ」を抽出する必要があり、List filterでAdvancedを使ってフィルタリングします。

簡単にまとめると画像では下記を実行しています。

Advanced filter:
– item 1: UserのIDと一致
 – item 2: 手当ID(Dropdownの値)と一致
  – item 3: 年月(例:202503)と一致

※Google Sheets APIは行ごとのデータを配列で返します。A列が item 1、B列が item 2、C列が item 3… という形で扱われるため、それぞれの条件を item 単位で指定することでフィルタが可能になります。

また、フィルタで抽出された1行のデータは、「Display data」アクションを使って、表示用のグループに渡す必要があります。
この設定を行わないと、フィルタ結果を画面に表示することができません。

具体的には

  • Element: g result(データを受け取る対象グループ)
  • Data to display: Result of step 3’s values:filtered:first item(条件に一致した最初の1行)

このように設定することで、次のステップで「g result」内のデータを元に、 入力欄の Initial content に Parent group’s values item 1:last item と記述し、金額(D列の値)を自動的に表示する処理へとつながっていきます。

該当データをBubbleに表示

フィルタで絞り込まれた行の中から、最終的に取得したい数値(例:金額や点数など)を、Bubble上の入力欄やテキスト欄に表示します。

この部分では、Sheets APIのレスポンス結果を「g result」などのグループ要素に紐づけて格納します。

項目設定値説明
要素g resultデータを保持する親グループ
Type of contentGet Incentive Call valueAPIから返ってきたレスポンスの型
Data sourcefiltered:first item条件一致した1行目のデータのみを対象とする設定

入力欄の初期値設定

実際に画面に表示される金額は、「g result」内の配列から最後の列の値(D列=金額)を取り出して表示します。

Initial content:

Parent group’s Get Incentive Call value’s values item 1:last item

項目説明
values item 1取得した1行(values の1行目)を表す
last itemその中の最後の項目(D列:金額)を抽出
<無料>資料ダウンロード
【ノーコード開発】お役立ち資料3点セット
「ノーコード開発会社の選び方」「EPICs株式会社ノーコード開発の実績集」
「受託開発サービス概要」が同梱されたお役立ち資料セット

    氏名


    法人名

    メールアドレス

    電話番号

    送信ボタンを押すことで、個人情報の取扱いについてに同意したとみなされます

    補足:なぜ「last item」か?

    Google Sheets APIは通常、指定範囲のデータを配列で返します。今回のように最後の列(D列)の値が金額の場合、
    values item 1:last item を指定することで該当行の金額だけを抽出可能です。

    【日本最大級のノーコード開発実績】
    無料でアプリ・システム開発の相談を受付中

      氏名

      法人名

      メールアドレス

      日中繋がりやすい電話番号

      お問い合わせ詳細 ※分かる範囲でご記入ください

      フォームの送信によりGoogleのプライバシーポリシー利用規約に同意したものとみなされます。

      日本最大級のノーコード開発実績!アプリ・システム開発サービス
      「勉強になった!」「役に立った!」と思っていただけたら、是非シェアもお願いします!
      ノーコード開発ツールを使ったアプリ・システム開発にお困りですか?
      1からの開発も、途中からの開発も、お気軽にEPICsにご相談ください!
      著者・監修者
      大熊滉希
      日本最大級のノーコード開発実績を誇るEPICs株式会社の代表。株式会社DRAFT役員として新規事業のコンサルティングに従事した後、EPICsを創業。ノーコード開発の顧問として上場企業に支援も行っている。
      監修者
      石森裕也
      EPICs株式会社CTO。サイバーエージェントのグループ会社での経験を経てEPICsに参画した。これまでで100件以上のノーコード開発に従事。開発経験は10年。
      目次