> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.jp/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 公開アプリ

> HubSpotのアプリを作成してインストールする方法を説明します。アプリは、OAuthでの接続プロセスを通じて顧客アカウント上にインストールできる連携機能です。

HubSpotの公開アプリは、顧客アカウント上にインストールしたり、アプリマーケットプレイスに掲載したりできる連携機能です。[OAuth](/apps/legacy-apps/authentication/working-with-oauth)による認証を必要とします。ユーザーがアプリをHubSpotアカウントに[インストール](#installing-apps)したら、そのアカウントに対して[OAuthアクセストークン](https://developers.hubspot.jp/docs/guides/api/app-management/oauth/tokens)を使用したAPI呼び出しを行えるようになります。アプリは、アカウントの設定画面にある［接続されたアプリ］にも表示されます。

また、接続されたアプリでは、[Webhookを使用して変更を受信](https://developers.hubspot.com/docs/api/webhookhttps://developers.hubspot.com/docs/api/webhooks)したり、カスタムの[タイムラインイベント](/api-reference/crm-timeline-v3/guide)を作成したりすることもできます。

このページでは、次の方法についてご紹介します。

* [公開アプリを作成する](#create-a-public-app)
* [アカウントに公開アプリをインストールする](#install-an-app)
* [アプリを管理する（使用状況のモニタリングを含む）](#manage-public-apps-in-hubspot)
* [認証済みドメインをアプリに追加する](#add-a-verified-domain)

## 公開アプリを作成する

HubSpotでアプリを作成する場合は作成したアプリを[開発者アカウント](https://app.hubspot.com/signup/developers)に関連付けます。HubSpotアプリの作成を開始するには、次の手順で進めます。

* アプリ開発者アカウントで、上部のナビゲーションバーにある［アプリ］に移動します。
* 右上の［アプリを作成］をクリックします。
* 次に、アプリの基本情報と設定を入力します。このページに記入した名前、説明、ロゴ、問い合わせ先情報が、HubSpotアカウントで貴社のアプリを認証したユーザーに示されます。

<Warning>
  \*\*注：\*\*アプリ名は、アプリがHubSpotユーザーに示される全ての場合に使用されます。[CRMカード](/api-reference/crm-public-app-crm-cards-v3/guide)と[タイムラインイベント](/api-reference/crm-timeline-v3/guide)の「Powered by」フッターだけでなく、ユーザーがアプリをインストールする場面も含まれます。
</Warning>

<Frame>
  <img src="https://developers.hubspot.com/hs-fs/hubfs/new_app_setup.png?width=600&name=new_app_setup.png" alt="" />
</Frame>

* ［認証］タブをクリックして、クライアントIDとクライアントシークレット、およびアプリに割り当てられているスコープを表示します。この情報は、アプリとHubSpotの間で[OAuth接続を開始](/apps/legacy-apps/authentication/working-with-oauth)する際に必要になります。

<Frame>
  <img src="https://developers.hubspot.com/hs-fs/hubfs/app_auth_settings.png?width=600&name=app_auth_settings.png" alt="" />
</Frame>

* 新しい[スコープ](/apps/legacy-apps/authentication/working-with-oauth)をアプリに追加するには、［認証］タブで、ページの下部にある［スコープ］ドロップダウンメニューをクリックします。必要なスコープは認証URLの`scope=`パラメーターに含める必要があります。含めていない場合、アプリ認証時にユーザーに対してエラーが表示されます。認証URLの作成とスコープの使用の詳細は、[OAuthのドキュメント](/apps/legacy-apps/authentication/working-with-oauth)を参照してください。

<Frame>
  <img src="https://developers.hubspot.com/hs-fs/hubfs/app_scopes.png?width=600&name=app_scopes.png" alt="app_scopes" />
</Frame>

* ［リダイレクトURL］フィールドに注意してください。これは、HubSpotアカウントへのアクセス権をアプリに付与したユーザーに表示されるページです。リダイレクトURLがない場合、ユーザーに接続エラーが表示されます。localhost上を除き、リダイレクトURLにはHTTPSを使用する必要があります。

アプリが作成されたら、インストール手順を開始できます。

<Warning>
  \*\*注：\*\*アプリに[認証済みドメインを追加する](#add-a-verified-domain)ことで、アプリをインストールするユーザー向けに更なる信頼レベルを追加することをお勧めします。追加しない場合、アプリがまだ認証されていないことを示すバナーがアプリに表示されます。
</Warning>

## アプリをインストールする

<Warning>
  \*\*注：\*\*アプリをインストールする前に、次の点に留意してください。

  * インストールしたアプリは、最初のアクセストークンとリフレッシュトークンが作成されるまでは、アカウントの［接続されたアプリ］ページに表示されません。
  * アプリをインストールできるのは、アプリが必要とするスコープにアクセスできるユーザーに限られます。
  * 開発者アカウントにはアプリをインストールできません。アプリをテストするには、アプリ開発者アカウントで[テストアカウント](/getting-started/account-types)を作成し、そのアカウントにアプリをインストールする必要があります。
</Warning>

アプリのインストール手順は、権限付与とトークン生成の2つのステップに分けることができます。

### 顧客アカウントでアプリを認証する

* HubSpotアカウント上でアプリを認証するには、認証URLを作成する必要があります。そのためには、アプリのクライアントIDを取得し、[OAuthプロセスを開始](/apps/legacy-apps/authentication/working-with-oauth)します。
* URLの準備ができたら、ブラウザーでそれを開くと、該当する全てのHubSpotアカウントのリストが表示されるのを確認できます。このURLをユーザーに案内した場合にも同様の画面が表示されます。
* アプリをインストールする**アカウント**を選択します。

<Frame>
  <img src="https://cdn2.hubspot.net/hubfs/428357/select_account-1.webp" alt="select_account-1" />
</Frame>

* アカウントを選択すると、認証URLに設定した`&scope=`パラメーターと`&optional_scope=`パラメーターに基づくスコープのリストが表示されます。

<Warning>
  **注：**`optional_scope`を含めていても、選択したアカウントにアクセス権が付与されていない場合（CRMのみのアカウントに対するコンテンツスコープなど）は、リストに表示されません。
</Warning>

* 接続を認証するには、［アクセス権を付与］をクリックします。

<Frame>
  <img src="https://cdn2.hubspot.net/hubfs/428357/approve_scopes-1.webp" alt="approve_scopes-1" />
</Frame>

* アクセス権を付与すると、元の認証URLの`&redirect_uri=`パラメーターに基づくページが表示され、`?code=`パラメーターがそのURLの末尾に付加されます。このコードを次のステップで使用して、アクセストークンを生成します。

### 初回のOAuthトークンを生成する

リフレッシュトークンと初回アクセストークンを生成するには、認証URLの`?code=`パラメーターのコード、`redirect_url`、クライアントID、およびクライアントシークレットが必要です。詳しい手順は、[こちらのページ](/apps/legacy-apps/authentication/working-with-oauth)をご覧ください。

アプリを認証し、初回のトークンを生成したら、インストールは完了です。アプリが［接続されたアプリ］[](https://app.hubspot.com/l/integrations-beta)ページに表示され、[Webhook](https://developers.hubspot.jp/docs/guides/api/app-management/webhooks/overview)および[CRMカード](/api-reference/crm-public-app-crm-cards-v3/guide)のフェッチリクエストを受信するようになります。

<Frame>
  <img src="https://cdn2.hubspot.net/hubfs/428357/connected_apps-1.webp" alt="connected_apps-1" />
</Frame>

## HubSpotで公開アプリを管理する

### Find an app's ID

以下のいずれかの方法を使用して、アプリ開発者アカウントで公開アプリのIDを見つけることができます。

* 開発者アカウントで、メイン ナビゲーション バーの［アプリ］に移動して、アプリの名前の下に記載されている「アプリID」を確認します。

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/find-app-id.png" alt="find-app-id" />
</Frame>

* 開発者アカウントで、メイン ナビゲーション バーの［アプリ］に移動して、アプリ名をクリックします。［基本情報］ページで［認証］タブをクリックして、「アプリID」を確認します。

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/find-app-id-auth-settings.png" alt="find-app-id-auth-settings" />
</Frame>

### アプリ動作のモニタリング

HubSpotでは、[OAuthのアクセストークン](https://developers.hubspot.jp/docs/guides/api/app-management/oauth/tokens)を使用した受信リクエストやWebhookまたはCRMカードの発信リクエストを含め、接続されているアプリとの間でやり取りするリクエストが全て記録されます。

このリクエストのログを表示するには、次のように進みます。

* 開発者アカウントで、メイン ナビゲーション バーにある［アプリ］に移動します。
* アプリ名をクリックします。
* 左のサイドバーメニューで［モニタリング］に移動します。
* **タブ**を切り替えることで、さまざまなタイプのアプリに対するリクエストやアプリからのリクエストを表示できます。これらのログが表示された状態で、個々のリクエストをクリックすると、そのリクエストに関する次の詳細情報が表示されます。
  * <u>成功</u>
    したリクエストについては、リクエストのメソッド、パス、リクエストが行われた時間が表示されます。
  * <u>失敗</u>
    したリクエストについては、応答ヘッダーや本文などの追加のエラー情報が表示されます。

<Frame>
  <img src="https://cdn2.hubspot.net/hubfs/428357/request_details.webp" alt="request_details" />
</Frame>

［モニタリング］ページの各タブについて詳しくは、以下をご確認ください。

* **API呼び出し：**［API呼び出し］タブには、OAuthアクセストークンを使ってアプリに対して行われた全てのリクエストが表示されます。HTTPメソッド、レスポンスコード、期間、またはリクエストURLで絞り込むことができます。
* **Webhook：**［Webhook］タブには、アプリの[Webhook通知](https://developers.hubspot.jp/docs/guides/api/app-management/webhooks/overview)に関するHubSpotリクエストが表示されます。レスポンス（タイムアウトや接続失敗など）、ステータス（成功、再試行、失敗）、通知タイプ、期間、試行、バッチ、イベント、またはアカウントIDで絞り込むことができます。

<Warning>
  \*\*注：\*\*試行IDは、特定のリクエストの`subscriptionId`、`eventId`、および`attemptNumber`を組み合わせたものです。
</Warning>

* **CRM拡張機能：**［CRM拡張機能］タブには、アプリの[CRMカード](/api-reference/crm-public-app-crm-cards-v3/guide)に関する要求が表示されます。拡張オブジェクトタイプ、CRMオブジェクトタイプ（コンタクト、会社、チケット、または取引）、エラーまたは警告のタイプ、期間、リクエストID、あるいはCRMレコードID（特定のコンタクトID）で絞り込むことができます。
* **アプリの設定：**［アプリの設定］タブでは、アプリに付属している[設定ページ](/apps/legacy-apps/public-apps/create-an-app-settings-page)を構成できます。

各タブで、過去30日間に関連イベントが発生した場合（Webhookトリガーが発生した場合やAPI呼び出しが行われた場合など）、\*\*［ログをエクスポート］\*\*をクリックして関連イベントデータをCSVにエクスポートできます。

* ダイアログボックスで、何日分のデータをエクスポートするか（最大30日）を設定します。
* ［エクスポート］をクリックします。Eメール通知は、HubSpot設定でユーザーに関連付けられたメールアドレスに送信されます。

## 認証済みドメインを追加する

HubSpotユーザーがアプリをインストールするとき、自分のアカウントデータへのアクセスをアプリ開発者に付与することに同意しなければなりません。そのため、インストールを続けるかどうかユーザーが決定する上で、開発者の身元と評判はどちらも重要な役割を果たします。アプリのインストール時にユーザーによって完全に同意してもらえるように、HubSpotはアプリの認証レベルおよびアプリマーケットプレイス上の掲載を示すメッセージをアプリのインストール画面に次のように表示します。

* アプリに認証済みドメインがない場合、HubSpotはアプリがまだ認証されていないことを示すバナーをインストール画面に表示します。

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/not-verified.png" alt="not-verified" />
</Frame>

* アプリに認証済みドメインが存在するものの、[アプリマーケットプレイスに掲載](/apps/developer-platform/list-apps/listing-your-app)されていない場合、HubSpotは認証済みドメインを表示するとともに、アプリがHubSpotによってレビューおよび認証されていないというバナーをインストール画面に表示します。

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/verified-not-listed.png" alt="verified-not-listed" />
</Frame>

* アプリがHubSpotのアプリ審査プロセスに合格してマーケットプレイスに掲載されると、HubSpotは上記のバナーのどちらも表示しません。アプリが既にアプリマーケットプレイスに掲載されている場合は、ドメインを確認する必要はありません。

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/verified-and-listed.png" alt="verified-and-listed" />
</Frame>

### 認証済みドメインを追加する

認証済みドメインをアプリに追加するには、まずアプリの設定にドメインを追加し、次にドメインのDNS設定にTXTレコードを追加する必要があります。

* アプリ開発者アカウントで、メイン ナビゲーション バーの［アプリ］に移動します。
* アプリ名をクリックします。
* 左側のサイドバーで、［コンタクトとサポート］に移動します。
* ［会社ドメイン］フィールドにドメインを入力して、［保存］をクリックします。［会社ドメイン］の下に、ドメインがまだ未確認であることを示すメッセージが表示されます。
* ［今すぐ確認］をクリックすると、確認プロセスが開始します。

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/domain-verification-for-app.png" alt="domain-verification-for-app" />
</Frame>

* 右側のパネルで、ドメインが正しく入力されていることを確認し、［次へ］をクリックします。
* ［値］列で［コピー］をクリックすると、必要なTXTレコード値がコピーされます。

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/verify-app-domain-copy-value.png" alt="verify-app-domain-copy-value" />
</Frame>

* DNSプロバイダーで、コピーされた値を使用してTXTレコードを作成します。いくつかの一般的なDNSプロバイダーでの手順を以下に示します。
  * [GoDaddy](https://www.godaddy.com/help/add-a-txt-record-19232)
  * [BlueHost](https://my.bluehost.com/hosting/help/559#add)
  * [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/317/2237)
  * [Cloudflare](https://support.cloudflare.com/hc/en-us/articles/360019093151-Managing-DNS-records-in-Cloudflare#h_60566325041543261564371)
  * [Hover](https://help.hover.com/hc/en-us/articles/217282457-How-to-Edit-DNS-records-A-AAAA-CNAME-MX-TXT-SRV-)
  * [Name](https://www.name.com/support/articles/115004972547-Adding-a-TXT-Record)
  * [United Domains](https://help.uniteddomains.com/hc/en-us/articles/115000887125-How-to-set-up-a-TXT-record-on-a-domain-name)
* DNS設定を更新したら、HubSpotに戻り、右側のパネルで［次へ］をクリックします。DNSレコードの更新には最大48時間かかる場合があるため、HubSpotは変更をすぐに認識できないかもしれません。［会社情報］設定ページから［今すぐ認証］を再び選択すると、いつでもこの画面に戻ることができます。
* 認証が完了すると、［会社ドメイン］フィールドの下に成功ステータスインジケーターが表示されます。

<Frame>
  <img src="https://f.hubspotusercontent00.net/hubfs/53/Domain%20verified__export.png" alt="Domain verified__export" />
</Frame>

#### 追加のメモ

* ドメインの継続的な所有を確かめる目的で、HubSpotはTXTレコードが存在することを定期的に確認し続けます。TXTレコードが除去または変更された場合、インストールの警告が再び表示されるようになります。
* 現在、1つの開発者アカウントにつき1つの認証済みドメインしか持つことができません。アカウント内の全てのアプリは、認証済みドメインを共有します。インストールページ上のドメインはルートドメインにリンクされます。
* 認証済みドメインを削除すると、開発者アカウント内の全てのアプリでインストール警告が再び表示されます。別のドメインを確認することはできますが、この処理には数時間かかります。
