Salesforce Connect で HubDB 外部オブジェクトを編集・検索(API Server)

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
API Server を使用して、スマートデバイスやクラウドベースのアプリケーションにHubDB のデータのセキュアな OData フィードを提供します。API Server と Salesforce Connect を使用して、アプリやダッシュボードからアクセスできる HubDB オブジェクトを作成します。



CData API Server を使用すると、Salesforce コンソールや Salesforce1 モバイルアプリなどのクラウドベースのアプリケーションからHubDB のデータにアクセスできます。この記事では、API Server と Salesforce Connect を使用して、標準の Salesforce オブジェクトと一緒に HubDB 外部オブジェクトにアクセスする方法を説明します。

API Server のセットアップ

まだインストールしていない場合は、CData API Server をダウンロードしてください。API Server をインストールしたら、以下の手順に従ってセキュアな HubDB OData サービスの作成を開始します。

HubDB への接続

Salesforce Connect からHubDB のデータを操作するには、まず HubDB への接続を作成・設定します。以下の手順で API Server を設定してHubDB のデータに接続します。

  1. まず、Connections ページに移動します。
  2. Add Connection をクリックし、HubDB 接続を検索して選択します。 データソースの選択(SQLite の例)
  3. HubDB に接続するために必要な認証プロパティを入力します。

    HubDBデータソースへの接続には、パブリックHubSpotアプリケーションを使用したOAuth認証とプライベートアプリケーショントークンを使用した認証の2つの方法があります。

    カスタムOAuthアプリを使用する

    すべてのOAuthフローでAuthSchemeを"OAuth"に設定する必要があります。特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを確認してください。

    アプリケーションを登録し、OAuthクライアント認証情報を取得するには、以下の手順を実行してください。

    1. HubSpotアプリ開発者アカウントにログインします。
      • アプリ開発者アカウントである必要があります。標準のHubSpotアカウントではパブリックアプリを作成できません。
    2. 開発者アカウントのホームページで、アプリタブをクリックします。
    3. アプリを作成をクリックします。
    4. アプリ情報タブで、ユーザーが接続する際に表示される値を入力し、必要に応じて変更します。これらの値には、パブリックアプリケーション名、アプリケーションロゴ、アプリケーションの説明が含まれます。
    5. 認証タブで、「リダイレクトURL」ボックスにコールバックURLを入力します。
      • デスクトップアプリケーションを作成する場合は、http://localhost:33333のようなローカルにアクセス可能なURLに設定します。
      • Webアプリケーションを作成する場合は、ユーザーがアプリケーションを承認した際にリダイレクトされる信頼できるURLに設定します。
    6. アプリを作成をクリックします。HubSpotがアプリケーションとそれに関連する認証情報を生成します。
    7. 認証タブで、クライアントIDクライアントシークレットを確認します。これらは後でドライバーを設定する際に使用します。
    8. スコープの下で、アプリケーションの意図する機能に必要なスコープを選択します。

      テーブルにアクセスするには、最低限以下のスコープが必要です:

      • hubdb
      • oauth
      • crm.objects.owners.read
    9. 変更を保存をクリックします。
    10. 統合に必要な機能にアクセスできる本番ポータルにアプリケーションをインストールします。
      • 「インストールURL(OAuth)」の下で、完全なURLをコピーをクリックして、アプリケーションのインストールURLをコピーします。
      • コピーしたリンクをブラウザで開きます。アプリケーションをインストールする標準アカウントを選択します。
      • アプリを接続をクリックします。結果のタブは閉じて構いません。

    プライベートアプリを使用する

    HubSpotプライベートアプリケーショントークンを使用して接続するには、AuthSchemeプロパティを"PrivateApp"に設定します。

    以下の手順に従ってプライベートアプリケーショントークンを生成できます:

    1. HubDBアカウントで、メインナビゲーションバーの設定アイコン(歯車)をクリックします。
    2. 左サイドバーメニューで、統合 > プライベートアプリに移動します。
    3. プライベートアプリを作成をクリックします。
    4. 基本情報タブで、アプリケーションの詳細(名前、ロゴ、説明)を設定します。
    5. スコープタブで、プライベートアプリケーションがアクセスできるようにしたい各スコープに対して読み取りまたは書き込みを選択します。
    6. テーブルにアクセスするには、最低限hubdbとcrm.objects.owners.readが必要です。
    7. アプリケーションの設定が完了したら、右上のアプリを作成をクリックします。
    8. アプリケーションのアクセストークンに関する情報を確認し、作成を続行をクリックし、その後トークンを表示をクリックします。
    9. コピーをクリックして、プライベートアプリケーショントークンをコピーします。

    接続するには、PrivateAppTokenを取得したプライベートアプリケーショントークンに設定します。

    データソースへの接続(SQLite の例)
  4. 接続を設定したら、 Save & Test をクリックして接続が成功したことを確認します。

API Server のユーザー設定

次に、API Server を通じてHubDB のデータにアクセスするユーザーを作成します。Users ページでユーザーを追加・設定できます。以下の手順でユーザーを設定・作成します。

  1. Users ページで、 Add User をクリックして Add User ダイアログを開きます。
  2. 次に、RoleUsernamePrivileges プロパティを設定し、Add User をクリックします。 新しいユーザーの設定
  3. その後、ユーザーの Authtoken が生成されます。各ユーザーの Authtoken やその他の情報は Users ページで確認できます。 API Server のユーザー設定

HubDB 用の API エンドポイントの作成

ユーザーを作成したら、HubDB テーブル用の API エンドポイントを作成します。

  1. まず、API ページに移動し、 Add Table をクリックします。 テーブルを追加
  2. アクセスしたい接続を選択し、Next をクリックします。 接続の選択(SQLite の例)
  3. 接続を選択した状態で、各テーブルを選択し、Confirm をクリックしてエンドポイントを作成します。 接続からテーブルを追加(SQLite の例)

OData URL の取得

HubDB のデータへの接続を設定し、ユーザーを作成し、API Server にリソースを追加したので、これらのリソース用の OData プロトコルに基づいた簡単にアクセスできる REST API が利用可能になりました。API Server の API ページから、API の API エンドポイントを表示およびコピーできます。

API エンドポイント

HubDB のデータ を外部データソースとして接続

以下の手順に従って、API Server が生成するフィードに接続します。

  1. Salesforce にログインし、設定 -> 開発 -> 外部データソース をクリックします。
  2. 「新規外部データソース」をクリックします。
  3. 以下のプロパティの値を入力します:
    • 外部データソース:リストビューやレポートで使用するラベルを入力します。
    • 名前:一意の識別子を入力します。
    • 種類:「Salesforce Connect: OData 4.0」オプションを選択します。
    • URL:API Server の OData エンドポイントへの URL を入力します。URL の形式は https://your-server:your-port/api.rsc です。

      注意:プレーンテキストはテスト専用です。本番環境では TLS を使用してください。

  4. 「書き込み可能外部オブジェクト」オプションを選択します。
  5. 「形式」メニューで JSON を選択します。

  6. 「認証」セクションで、以下のプロパティを設定します:
    • ID 種類:組織のすべてのメンバーが同じ資格情報を使用して API Server にアクセスする場合は、「指定プリンシパル」を選択します。組織のメンバーが独自の資格情報で接続する場合は、「ユーザーごと」を選択します。
    • 認証プロトコル:Basic 認証を使用する場合は「パスワード認証」を選択します。
    • 証明書:Salesforce からサーバーへの通信を暗号化・認証するために使用する証明書を入力または参照します。
    • ユーザー名:API Server のユーザー名を入力します。
    • パスワード:ユーザーの Authtoken を入力します。
データソースの設定(NetSuite の例)

HubDB オブジェクトの同期

外部データソースを作成したら、以下の手順に従って、データソースの変更を反映する HubDB 外部オブジェクトを作成します。HubDB 外部オブジェクトの定義を HubDB テーブルの定義と同期します。

  1. 作成した外部データソースのリンクをクリックします。
  2. 「検証して同期」をクリックします。
  3. 外部オブジェクトとして操作する HubDB テーブルを選択します。

HubDB のデータ を Salesforce オブジェクトとしてアクセス

HubDB のデータ を外部データソースとして追加し、HubDB テーブルを HubDB 外部オブジェクトと同期したら、標準の Salesforce オブジェクトと同様に外部オブジェクトを使用できます。

  • フィルターリストビューを持つ新しいタブを作成:

    カスタムタブに表示されたフィルターリストビュー(NetSuite Invoices の例)
  • 標準 Salesforce オブジェクトと一緒に HubDB 外部オブジェクトの関連リストを表示:

    子外部オブジェクトを親標準オブジェクトにリンクする間接ルックアップ関係を示す関連リスト(Salesforce アカウントと関連付けられた NetSuite インボイスの例)
  • Salesforce ダッシュボードのタブから HubDB オブジェクトの作成、読み取り、更新、削除: Salesforce ダッシュボードから外部オブジェクトを編集(NetSuite Employees の例)

トラブルシューティング

一般的な接続の問題を避けるために、以下のチェックリストを使用できます:

  • サーバーにパブリックアクセス可能な IP アドレスがあることを確認してください。これに関連して、OS レイヤーで、ファイアウォールが API Server が実行されているポートを開いていることを確認する必要があります。アプリケーションレイヤーでは、管理コンソールの Settings -> Security タブで信頼できる IP アドレスを追加していることを確認してください。
  • 商用の信頼できる CA からの SSL 証明書で保護された接続を使用していることを確認してください。Salesforce は現在、自己署名証明書や内部 CA を受け入れていません。
  • API Server をホストしているサーバーが TLS 1.1 以上を使用していることを確認してください。.NET API Server を使用している場合は、.NET API Server の組み込みサーバーを使用することで実現できます。

    IIS を使用している場合、TLS 1.1 および 1.2 はサポートされていますが、デフォルトでは有効になっていません。これらのプロトコルを有効にするには、MSDN のハウツーMicrosoft 技術リファレンスを参照してください。

    Java エディションを使用している場合、TLS 1.2 は Java 8 ではデフォルトで有効ですが、Java 6 または 7 では有効ではありません。これらの以前のバージョンを使用している場合は、この Oracle ハウツーを参照してください。

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server