こんにちは!プロダクトスペシャリストの宮本です。
AppSheet は、業務アプリケーションをノーコードで開発できるGoogle 提供のサービスです。モバイル、タブレット、ウェブアプリケーションをノーコードで作成できます。AppSheet とCData Connect Server を一緒に使うことで、簡単にHubDB データに連携する業務アプリを開発できます。この記事では、AppSheet とConnect Server を使ってHubDB に連携するシンプルなアプリケーションを作成する方法を紹介します。
CData Connect Server は、HubDB データのインターフェースを仮想SQL Server として提供し、AppSheet でネイティブにサポートされたデータと同じように連携するアプリケーションが作成できます。AppSheet でデータにアクセスするアプリでは、内部でSQL クエリを発行しています。CData Connect Server がAppSheet が発行するSQL クエリ(フィルタリングやJOIN も可能)をパースしてHubDB に送り、AppSheet にHubDB からのデータを返します。インテリジェントなサーバーサイドプロセスで、多様なクエリをパフォーマンス良く利用できます。
ホスティングについて
AppSheet からCData Connect Server に接続するには、利用するConnect Server インスタンスをネットワーク経由での接続が可能なサーバーにホスティングして、URL での接続を設定する必要があります。CData Connect がローカルでホスティングされており、localhost アドレス(localhost:8080 など)またはローカルネットワークのIP アドレス(192.168.1.x など)からしか接続できない場合、AppSheet はCData Connect Server に接続することができません。
クラウドホスティングでの利用をご希望の方は、AWS Marketplace やGCP Marketplace で設定済みのインスタンスを提供しています。
HubDB の仮想SQL Server データベースを作成
まずは、右側のサイドバーからCData Connect Server の無償トライアルをダウンロード・インストールしてください。CData Connect Server では、直感的なインターフェースでデータソースへの接続およびAPI エンドポイント作成を行えます。
- Connect Server にログインして、「CONNECTORS」をクリックします。
- 利用できるデータソースアイコンから"HubDB" を選択します。
-
HubDB に接続するために必要なプロパティを入力します。
HubDBデータソースへの接続には、パブリックHubSpotアプリケーションを使用したOAuth認証とプライベートアプリケーショントークンを使用した認証の2つの方法があります。
カスタムOAuthアプリを使用する
すべてのOAuthフローでAuthSchemeを"OAuth"に設定する必要があります。特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを確認してください。
アプリケーションを登録し、OAuthクライアント認証情報を取得するには、以下の手順を実行してください。
- HubSpotアプリ開発者アカウントにログインします。
- アプリ開発者アカウントである必要があります。標準のHubSpotアカウントではパブリックアプリを作成できません。
- 開発者アカウントのホームページで、アプリタブをクリックします。
- アプリを作成をクリックします。
- アプリ情報タブで、ユーザーが接続する際に表示される値を入力し、必要に応じて変更します。これらの値には、パブリックアプリケーション名、アプリケーションロゴ、アプリケーションの説明が含まれます。
- 認証タブで、「リダイレクトURL」ボックスにコールバックURLを入力します。
- デスクトップアプリケーションを作成する場合は、http://localhost:33333のようなローカルにアクセス可能なURLに設定します。
- Webアプリケーションを作成する場合は、ユーザーがアプリケーションを承認した際にリダイレクトされる信頼できるURLに設定します。
- アプリを作成をクリックします。HubSpotがアプリケーションとそれに関連する認証情報を生成します。
- 認証タブで、クライアントIDとクライアントシークレットを確認します。これらは後でドライバーを設定する際に使用します。
スコープの下で、アプリケーションの意図する機能に必要なスコープを選択します。
テーブルにアクセスするには、最低限以下のスコープが必要です:
- hubdb
- oauth
- crm.objects.owners.read
- 変更を保存をクリックします。
- 統合に必要な機能にアクセスできる本番ポータルにアプリケーションをインストールします。
- 「インストールURL(OAuth)」の下で、完全なURLをコピーをクリックして、アプリケーションのインストールURLをコピーします。
- コピーしたリンクをブラウザで開きます。アプリケーションをインストールする標準アカウントを選択します。
- アプリを接続をクリックします。結果のタブは閉じて構いません。
プライベートアプリを使用する
HubSpotプライベートアプリケーショントークンを使用して接続するには、AuthSchemeプロパティを"PrivateApp"に設定します。
以下の手順に従ってプライベートアプリケーショントークンを生成できます:
- HubDBアカウントで、メインナビゲーションバーの設定アイコン(歯車)をクリックします。
- 左サイドバーメニューで、統合 > プライベートアプリに移動します。
- プライベートアプリを作成をクリックします。
- 基本情報タブで、アプリケーションの詳細(名前、ロゴ、説明)を設定します。
- スコープタブで、プライベートアプリケーションがアクセスできるようにしたい各スコープに対して読み取りまたは書き込みを選択します。
- テーブルにアクセスするには、最低限hubdbとcrm.objects.owners.readが必要です。
- アプリケーションの設定が完了したら、右上のアプリを作成をクリックします。
- アプリケーションのアクセストークンに関する情報を確認し、作成を続行をクリックし、その後トークンを表示をクリックします。
- コピーをクリックして、プライベートアプリケーショントークンをコピーします。
接続するには、PrivateAppTokenを取得したプライベートアプリケーショントークンに設定します。
- 「Test Connection」をクリックします。
- 「Permission」をクリックして、接続で使用したいユーザーに適切な権限を指定します。
これで、HubDB の仮想データベースが作成でき、AppSheet からの連携が可能になりました。
AppSheet でHubDB データを連携利用
以下の手順を実行することで、CData Connect Server を使ってAppSheet からHubDB データソースにアクセスできます。
- まずはAppSheet にログイン。
- メニューの「Account settings」をクリックします。
- 「Sources」タブをクリックして、「+New Data Source」ボタンから新しいデータソースを追加します。
- 「Cloud Database」を選択して、接続情報を設定します。
- Type:SQL Server
- Server: 接続するCData Connect Serverインスタンス、例:CONNECT_SERVER_URL:1433
- Database:仮想データベース名、例: HubDB1
- Username:Connect Server で接続許可を与えたユーザー名
- Password:Connect Server ユーザーのパスワード
- SSL:Don't Require SSL
- 「Test」をクリックします。
- 「Authorize Access」をクリックします。
アプリを作成
これで、HubDB のデータソースが作成されました。いよいよHubDB に連携するアプリを開発します。メニューから「My apps」をクリックします。
- 「Create」->「App」->「Start with existing data」の順にクリックして、新しいアプリの作成を始めます。
- アプリの名前と適切なカテゴリーを設定します。
- 新しく作成したデータソース (例:database-1) を選択します。
- 次の画面で、データソースのテーブルとビューの一覧を確認できます。アプリ作成で使用したいデータを選択してください。
これで、選択したテーブルからカラムを選んで、アプリをデザインできます。Preview パネルでデザインしたアプリを確認して、パブリッシュしましょう。
アプリケーションから240以上のSaaS、ビッグデータ、NoSQL、会計、CRM、MA などのツールにSQL でデータ連携するには、CData Connect Server をぜひお試しください。