日本語ブログ

Yoshi
by: HubSpot Employee
HubSpot Employee

HubSpot連携に最適なのは何か。HubSpot非公開アプリと公開アプリの選択

HubSpotではOAuthのため2種類のアプリをサポートしています。公開アプリ非公開アプリです。 

全てのHubSpot APIは公開アプリでも非公開アプリでも、ほとんどの部分で同様に機能します。

非公開アプリのトークンと公開アプリのアクセストークンは両方とも、APIリクエストを行う際にHTTP Authorizationリクエストヘッダーで使用できます。どちらのタイプのアプリも同じOAuthスコープを使用して、アプリに許可するアクセスを設定します。これにより、アプリが機能するために必要な特定の権限のみが使用されるので、HubSpotアカウントのセキュリティ保護に役立ちます。

技術的観点からは公開アプリも非公開アプリも同様に機能しますが、それぞれには別の機能と用途があります。どのような場合にHubSpot公開アプリと非公開アプリのどちらを構築するかに関して、いくつかの例と推奨事項を示します。 

HubSpot公開アプリを構築する場合

複数のHubSpotアカウントで使用することを意図したアプリは、公開アプリとして構築する必要があります。公開アプリはHubSpotアカウントへのワンクリック接続をサポートし、HubSpotユーザーは手動でのアプリ作成や、トークンのコピー アンド ペーストを必要とせずに、容易に連携に接続できます。

 

アプリをHubSpotアプリマーケットプレイスに掲載したい場合は、公開アプリを構築する必要があります。これは掲載の必要条件であり、アプリが非公開アプリトークン用に構築されている場合は、マーケットプレイスを利用できなくなります。

 

さらに、公開アプリを作成することは、一部のHubSpotプラットフォーム機能を利用するための要件になっています。例えば、Webhooks APIタイムラインイベントを使用する場合、公開アプリを使用して連携を構築する必要があります。これらは開発者のアプリの機能としてセットアップされるからです。公開アプリにはカスタム設定ページもあり、ユーザーはHubSpotから離れることなく、自分のHubSpotアカウントのカスタム設定ページから自分のアプリの設定を更新できます。

 

Yoshi_0-1668408521623.jpeg

 

公開アプリでは認証にOAuth 2.0を使用しており、このことは個々のアクセストークンの寿命が短いことを意味します。 

最初の接続の後、ユーザーはアクセストークンとリフレッシュトークンを受け取ります。アクセストークンはHubSpot APIへのリクエストに使用されますが、30分後に期限切れになります。古いアクセストークンの期限が切れたら、リフレッシュトークンを使用して新しいアクセストークンを生成できます。これは、連携でアクセストークンの管理と更新を行うだけでなく、リフレッシュトークンを長期間安全に保管するためのインフラストラクチャーが必要であることを意味します。 

HubSpotでのOAuth 2.0の使用の詳細については、HubSpotのOAuthのドキュメントをご確認ください。

HubSpot非公開アプリを構築する場合

非公開アプリは、単一のHubSpotアカウントでの使用が意図されているカスタム連携で使用できます。ただし、ユーザーは非公開アプリを手動で作成し、スコープを設定し、プライベートトークンをコピーして連携に貼り付ける必要があることに注意してください。

非公開アプリは、1回限りのスクリプトや単一のAPI呼び出しに適した選択肢です。例えば、新しいカスタムオブジェクトを作成するときや、スクリプトを使用している場合にCSVファイルからCRMレコードをインポートするときに、非公開アプリを使用できます。適切なスコープ設定で非公開アプリを作成し、トークンを使用してAPIリクエストを行ったりスクリプトでのリクエストを認証したりして、終了したら非公開アプリを削除する、ということができます。このようにして、トークンは使用し終えたらすぐに無効化します。

非公開アプリは、HubSpotで直接構築される連携にとっても優れた選択肢です。例えば、HubSpotワークフローのカスタム コード アクションで行われるAPIリクエストの認証に、非公開アプリトークンを使用できます。非公開アプリは、CMSサーバーレス関数や、チャットボットのコードスニペットにも使用できます。非公開アプリキーがHubSpotで使用される場合、シークレットとして安全に保存され、APIリクエストを行うのにそのシークレットが参照されます。

1つのHubSpotアカウントで複数の非公開アプリを使用することにより、さまざまな連携やジョブでトラフィックを分離することもできます。各非公開アプリにはそれぞれ独自のスコープのセットを設定できるため、各ジョブに付与する権限を、特定の必要なものだけに確実に限定することができます。例えば、複数のワークフロー コード アクションがあり、その全てが同じ外部サービスにデータを送信する場合、同じ非公開アプリトークンを共有できます。一方、複数の連携が別個の外部サービスにデータを送信する場合、外部サービスごとに別個の非公開アプリを使用できます。

非公開アプリトークンはOAuthアクセストークンと同様に機能しますが、期限切れはありません。トークンが紛失した場合や侵害された場合には簡単にトークンのローテーションができます。1つのHubSpotアカウント内の全ての非公開アプリはまとめて1日のレート制限を共有しますが、各非公開アプリで別個のバースト制限を持ちます。レート制限の詳細については、HubSpotの開発者ドキュメントをご確認ください。

まとめ

HubSpot APIへのAPIリクエストを行う観点では、公開アプリと非公開アプリに違いはほとんどありません。連携でHubSpot APIクライアントライブラリーを使用している場合、どちらのタイプのアプリでもクライアント作成時にアクセストークン認証タイプが使用されます。つまり、非公開アプリと公開アプリを切り替えるのに、既存のコードの大部分は変更する必要がありません。それで、テストまたはプロトタイプ作成目的で非公開アプリを作成し、公開リリース前に公開アプリに切り替えるということも簡単にできます。

現在アプリでAPIキーを使用している場合、APIキーのサポートが終了する前にアプリを更新するのに役立つ、連携を非公開アプリに移行するためのガイドをご活用いただけます。ただし、複数のHubSpotアカウントによって使用されるアプリの場合は、そのアプリを公開にすることにより、顧客がインストールしやすくすることを検討する必要があります。

 

*このブログは、Developer Blogのコンテンツを翻訳したものです。英語版のブログはこちらからご覧ください。