OAuthはアプリのためのセキュリティーで保護された認証手段です。パスワードではなく認証トークンを使用して、アプリをユーザーアカウントに接続します。
/oauth/
と/authorize
の間にアカウントIDを追加することで、特定のHubSpotアカウント用の認証URLを設定できます。アクセス権が付与されると、コードクエリーパラメーターが付加されたredirect_url
によってユーザーがアプリにリダイレクトされます。このコードとクライアントシークレットを使用して、HubSpotからaccess_tokenとrefresh_tokenを取得します。
https://app.hubspot.com/oauth/authorize?client_id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&scope=contacts%20automation&redirect_uri=https://www.example.com/
https://app.hubspot.com/oauth/123456/authorize?client_id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&scope=contacts%20automation&redirect_uri=https://www.example.com/
https://example.com/?code=xxxx
https://www.example.com/?error=error_code&error_description=Human%20readable%20description%20of%20the%20error
access_token
を使用して、当該HubSpotアカウントに対して行われたAPI呼び出しを認証します。
access_token
の有効期限が切れたら、refresh_token
を使用して新しいaccess_token
を生成します。
crm.objects.contacts.read
スコープを対象としたリクエストを許可したとしても、生成されるアクセストークンでは、このユーザーが担当するコンタクトだけでなく、アカウント内の全てのコンタクトを表示できます。パラメーター | 説明 | 使い方 |
---|---|---|
client_id | アプリの固有IDとして機能するID。 | アプリの認証設定ページから(上記の説明に従って)取得します。 |
redirect_uri | 訪問者がアプリへのアクセス権を取得した後にリダイレクトされる宛先URL。 | アプリの認証設定ページでも、このURLを指定します**。注**: セキュリティー上の理由により、本番環境ではこのURLにhttps を使用する必要があります(localhost を使用したテスト環境では、http を使用することも可能です)。また、IPアドレスはサポートされていないため、必ずドメインを使用してください。 |
scope | アプリに対する権限セット(権限ごとにスペースで区切ります)。 | アプリの認証設定でチェックマークを付けたスコープは必須と見なされるため、このパラメーターに含めない場合は認証ページにエラーが表示されます。_ _また、ここに含まれたスコープへのアクセス権がないアカウント上にアプリをインストールしようとした場合、エラーが発生します。特定のスコープでアクセスできるエンドポイントの詳細については、スコープに関するリファレンスドキュメントをご参照ください。 |
パラメーター | 使い方 | 説明 |
---|---|---|
optional_scope | 貴社のアプリに対する任意アクセス許可(許可ごとにスペースで区切ります)。 | ユーザーがそのツールへのアクセス権を持っていないHubSpotアカウントを選択した場合(HubSpotの無料アカウントでContent Hub Enterpriseスコープを承認する場合など)、任意指定のスコープは自動的に認証リクエストから除かれます。_ _任意指定のスコープを使用する場合、許可されたスコープを把握するためにはアクセストークンまたはリフレッシュトークンを確認する必要があります。詳細についてはスコープに関するリファレンスドキュメントをご覧ください。 |
state | 認証URLにこのパラメーターを含めた場合、ユーザーがredirect_uri に誘導される際に、ここで指定した値が状態クエリーパラメーターに格納されます。 | リダイレクトされてアプリに戻ってきたユーザーの状態を維持するために使用できる文字列値。 |
optional_scope
パラメーターを使用して、対応するあらゆるティアのスコープを含めることができます。これにより、HubSpotの無料アカウントを使用しているお客さまも、全てのスコープにはアクセスできなくても、アプリを認証できるようになります。認証されていない全てのスコープについては、アプリ側で確認および処理する必要があります。
スコープの完全なリストはこちらのページで確認できます。