Bubble で使えるHarvest のデータ連携用のバックエンドAPI をノーコードで開発
CData API Server を使って、Bubble から Harvest に接続してデータを取得する方法を説明します。
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなHarvest OData サービスを作成していきましょう。
Harvest への接続
Bubble からHarvest のデータを操作するには、まずHarvest への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Harvest」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、Harvest への接続設定を行っていきましょう!
-
まず、Profile 接続プロパティをディスク上のHarvest プロファイルの場所に設定します(例:C:\profiles\Harvest.apip)。次に、ProfileSettings 接続プロパティをHarvest の接続文字列に設定します(以下を参照)。
Harvest API プロファイル設定
Harvest に認証するには、トークン認証またはOAuth 標準のいずれかを使用できます。自分のデータに接続するにはBasic 認証を使用します。他のユーザーが自分のデータに接続できるようにするにはOAuth を使用します。
トークン認証の使用
トークン認証を使用するには、ProfileSettings 接続プロパティでAPIKey にHarvest パーソナルアクセストークンを設定します。APIKey に加えて、ProfileSettings でAccountId を設定して接続します。
OAuth 認証の使用
まず、Harvest でOAuth2 アプリケーションを登録します。アプリケーションはHarvest ID の「Developers」セクションから作成できます。
以下の接続プロパティを設定すると、接続できるようになります。
- ProfileSettings:ProfileSettings でAccountId を設定します。
- AuthScheme:OAuth に設定します。
- OAuthClientId:アプリ設定で指定したclient ID に設定します。
- OAuthClientSecret:アプリ設定で指定したclient secret に設定します。
- CallbackURL:アプリ設定で指定したRedirect URI に設定します。
- InitiateOAuth:GETANDREFRESH に設定します。InitiateOAuth を使用して、ドライバーがOAuthAccessToken を取得および更新する方法を管理できます。
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
まず、Profile 接続プロパティをディスク上のHarvest プロファイルの場所に設定します(例:C:\profiles\Harvest.apip)。次に、ProfileSettings 接続プロパティをHarvest の接続文字列に設定します(以下を参照)。
Harvest API プロファイル設定
Harvest に認証するには、トークン認証またはOAuth 標準のいずれかを使用できます。自分のデータに接続するにはBasic 認証を使用します。他のユーザーが自分のデータに接続できるようにするにはOAuth を使用します。
トークン認証の使用
トークン認証を使用するには、ProfileSettings 接続プロパティでAPIKey にHarvest パーソナルアクセストークンを設定します。APIKey に加えて、ProfileSettings でAccountId を設定して接続します。
OAuth 認証の使用
まず、Harvest でOAuth2 アプリケーションを登録します。アプリケーションはHarvest ID の「Developers」セクションから作成できます。
以下の接続プロパティを設定すると、接続できるようになります。
- ProfileSettings:ProfileSettings でAccountId を設定します。
- AuthScheme:OAuth に設定します。
- OAuthClientId:アプリ設定で指定したclient ID に設定します。
- OAuthClientSecret:アプリ設定で指定したclient secret に設定します。
- CallbackURL:アプリ設定で指定したRedirect URI に設定します。
- InitiateOAuth:GETANDREFRESH に設定します。InitiateOAuth を使用して、ドライバーがOAuthAccessToken を取得および更新する方法を管理できます。
API Server のユーザー設定
次に、API Server 経由でHarvest にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
Harvest 用のAPI エンドポイントの作成
ユーザーを作成したら、Harvest のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でHarvest への接続を設定してユーザーを作成し、API Server でHarvest データのAPI を追加しました。これで、OData 形式のHarvest データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
オンプレミスDB やファイルからのAPI Server 使用(オプション)
オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。是非、Cloud Gatway の設定方法 記事を参考にしてください。
Harvest のデータに接続したアプリを作成
OData エンドポイントをAPI Server に追加したら、Harvest のデータへのライブ接続が可能なアプリをBubble で作成できます。
Bubble API Connector を設定
まずは、Bubble からCData API Server にアクセスするためのAPI Connector を設定します。
- アプリ内で、Plugins タブをクリックして Add plugins をクリックします。
- 「API Connector」を検索して「Install」をクリックします。
- インストール後、「Add another API」ボタンをクリックしてAPI を設定します。
- API に名前を設定します。
- Authentication を「HTTP Basic Auth」に設定します。
- Username をAPI Server のユーザーに設定します([email protected])。
- Password を上記のユーザーのPAT に設定します。
- API Call を展開して、「GET」コマンドを選択してURL を先ほど設定したOData エンドポイントに設定します。
- 「Initialize call」ボタンをクリックしてレスポンスのデータ型を必要に応じて調整します。
- 必要な変更を加えた後、「SAVE」をクリックします。
App UI の設定
API Connector を設定したら、Bubble アプリでHarvest のデータを取得できます。本記事では、Excel ライクなテーブルを表示できるUI コンポーネントでデータをリクエストします。
- Plugin タブで、「Excel-like HandsonTable」をインストールします。
- Design タブで、「Excel Table」をワークスペースに追加します。
- Excel Table のData source で、「Get data from an external API」を選択します。
- Type of content を「API Call value」に設定します。
- Data source を"API Server - <API Call の値>"(またはこれと同等な値)に設定します。
- 「Preview」をクリックしてHarvest からデータが取得できたことを確認します。
この時点で、バックエンドAPI を設定する手間なくHarvest のデータへのライブ接続を持つアプリケーションを開発できます。
クラウドアプリケーションからHarvest のデータへのライブ接続
Bubble からHarvest のリアルタイムデータに直接接続できるようになりました。これで、Harvest のデータを複製せずにより多くの接続とアプリを作成できます。
まとめと30日の無償評価版のご案内
このように Harvest 内のデータをBubble で利用することができるようになります。CData API Server は、30日の無償評価版があります。是非、お試しいただき、Bubble からのデータ参照を体感ください。