こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData Connect Server を使用すると、Salesforce コンソールのようなアプリケーションや、Salesforce1 Mobile App のようなモバイルアプリケーションからHubDB データにアクセスできます。この記事ではCData Connect Server とSalesforce Connect を使用して、標準のSalesforce オブジェクトと外部のHubDB オブジェクトにアクセスします。
Connect Server を構成する
Salesforce Connect でリアルタイムHubDB データを操作するには、Connect Server からHubDB に接続し、新しい仮想データベースへのユーザーアクセスを提供してHubDB データのOData エンドポイントを作成する必要があります。
Connect Server ユーザーを追加する
Reveal からConnect Server を介してHubDB に接続するユーザーを作成します。
- [Users]->[ Add]とクリックします。
- ユーザーを構成します。
- [Save Changes]をクリックして新しいユーザーの認証トークンをメモします。
Connect Server からHubDB に接続
CData Connect Server は、簡単なポイントアンドクリックインターフェースを使用してAPI を生成します。
- Connect Server を開き、「Databases」をクリックします。
- 「Available Data Sources」から「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 Database」をクリックします。
- 「Permission」->「 Add」とクリックし、適切な権限を持つ新しいユーザー(または既存のユーザー)を追加します。(Reveal に必要なのは、SELECT のみです。)
Connect Server にHubDB OData エンドポイントを追加する
HubDB に接続したら、目的のテーブルのOData エンドポイントを作成します。
- 「OData」->「Tables」->「Add Tables」とクリックします。
- HubDB データベースを選択します。
- 使用するテーブルを選択し、「Next」をクリックします。
- (オプション)テーブルの定義を編集して特定のフィールドなどを選択します。
- 設定を保存します。
(オプション)Cross-Origin Resource Sharing (CORS) を構成する
複数の異なるドメインにアクセスして接続すると、クロスサイトスクリプティングの制限に違反する恐れがあります。その場合には、「OData」->「Settings」でCORS 設定を構成します。
- Enable cross-origin resource sharing (CORS):ON
- Allow all domains without '*':ON
- Access-Control-Allow-Methods:GET、PUT、POST、OPTIONS
- Access-Control-Allow-Headers:Authorization
設定への変更を保存します。
外部データソースとしてHubDB データに接続する
以下のステップに従って、CData Connect に生成されたフィードに接続します。
- Salesforce にログインし、「Setup」->「Integrations」->「External Data Sources」とクリックします。
- 「New External Data Source」をクリックします。
- 以下のプロパティに値を入力します。
- 「Writable External Objects」オプションを選択します。
「Format」メニューから「JSON」を選択します。
- 「Authentication」セクションでは、以下のプロパティを設定します。
- Identity Type:組織のすべてのメンバーが同じ認証情報を使用してCData Connect にアクセスする場合は、「Named Principal」を選択します。各自の認証情報で接続する場合は、「Per User」を選択します。
- Authentication Protocol:Basic 認証を使用するには、「Password Authentication」を選択します。
- Certificate:Salesforce からサーバーへの通信を暗号化及び認証するために使用する証明書を入力、または参照します。
- Username:CData Connect Server に追加したユーザーのユーザー名を入力します。
- Password:ユーザーの認証トークンを入力します。
HubDB オブジェクトを同期する
外部データソースを作成したら、以下のステップに従って、データソースへの変更を反映するHubDB 外部オブジェクトを作成します。HubDB 外部オブジェクトの定義をHubDB テーブルの定義と同期します。
- 作成した外部データソースのリンクをクリックします。
- 「Validate and Sync」をクリックします。
- 外部オブジェクトとして使用するHubDB テーブルを選択します。
Salesforce オブジェクトとしてHubDB データにアクセスする
HubDB データを外部データソースとして追加し、HubDB テーブルを外部オブジェクトとして同期すると、標準のSalesforce オブジェクトと同じように外部HubDB オブジェクトを使用できるようになります。
アプリケーションから簡単にHubDB データにアクセスする
この時点で、Salesforce からリアルタイムHubDB データに直接接続ができます。Salesforce のようなアプリケーションから簡単に100を超えるSaaS、Big Data、NoSQL ソースのデータにアクセスする方法の詳細は、Connect Server ページを参照してください。