Hubspot

HubSpot プライベートアプリでOAuth認証・WordPress連携完全ガイド

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
タイプ別にすぐ選べる

DXを前に進める、あなたの立場は?

DXは"組織でやる"か"まず自分が学ぶ"かで必要な打ち手が違います。立場に合わせて選んでください。

▷ 部署・全社のAIリテラシーを底上げしたい決裁者・推進担当者

【Kindle本】イノベーションOps 組織を動かすDX&AI導入プロセスのすべて▶

▷ 様々なDX事例・フレームワークを頭に入れたい担当者 | 読みやすい本をさがしてみましょう

Kindle Unlimited 30日無料|DX/業務効率本読み放題▶

※DXは最初の一歩が肝心なので様々なキャッチアップをしましょう

▶ その他では 【kindke本】AIエージェント時代のDX ビジネスオーケストレーションの衝撃 / 生成AIカテゴリー が参考になります。


スポンサードリンク

1. HubSpot プライベートアプリと OAuth の基礎

1‑1.プライベートアプリ作成とスコープ設定

手順 操作画面のポイント
① HubSpot にログイン → Settings(設定)Integrations(統合)Private Apps(プライベートアプリ) 「Create private app」ボタンが左上にあります。
② アプリ名・説明を入力し、Scopes(権限) を選択 必要な API に応じて以下のスコープを最低でも付与してください。
contacts (コンタクト操作)
forms (フォーム取得/送信)
content (CMS コンテンツ)
※ スコープはスペース区切りで列挙し、URL エンコードが必要です。
Redirect URL を登録 「OAuth redirect URIs」欄に WordPress 側の受信用エンドポイント(例: https://example.com/oauth/hubspot/callback)を必ず追加してください。HubSpot はこのリスト以外へのリダイレクトを拒否します。
Create をクリック → 発行された Client IDClient Secret をメモ 後続の認可 URL 作成とトークン取得で必須です。

ポイント:スコープは URL エンコード が必要です。例えば contacts formscontacts%20forms となります。

1‑2.OAuth 認可リクエスト(ユーザー認証画面への誘導)

パラメータ 説明
client_id プライベートアプリ作成時に取得した Client ID
scope スペースで区切ったスコープを URL エンコード(例: contacts%20forms
redirect_uri 事前登録したリダイレクト先。必ずエンコードすること
response_type=code 認可コード取得を指示

ユーザーが HubSpot にログインし、スコープへの同意を行うと リダイレクト URI に以下のように認可コードが付与されます。

1‑3.アクセストークン取得(Authorization Code の交換)

レスポンス例(JSON)

注意hapikey は OAuth フローでは使用できません。上記のように client_id / client_secretgrant_type=authorization_code を必ず送信してください。


2. アクセストークンの有効期限と自動リフレッシュ(PHP 実装)

HubSpot のアクセストークンは 6 時間(デフォルト)で失効します。リフレッシュトークンは最大 30 日間 有効です。以下のコードは、WordPress の Cron と wp_remote_post を組み合わせて自動更新するサンプルです。

ポイント:トークンは update_option() でデータベースに保存し、get_option('hubspot_access_token') から取得すればコード全体で一元管理できます。


3. 公式プラグイン「HubSpot All‑In‑One Marketing」でのノーコード接続

3‑1.プラグインのインストールと有効化手順

手順 操作詳細
① WordPress 管理画面 → Plugins(プラグイン)Add New(新規追加) 検索ボックスに HubSpot All‑In‑One Marketing と入力
② 「HubSpot All‑In‑One Marketing」 (開発元: HubSpot) を Install NowActivate インストール後、左メニューに HubSpot が追加されます
③ メニュー > HubSpot → Settings(設定) に遷移 「Connection method(接続方法)」で OAuth token を選択
④ 取得した access_token(または refresh_token)を貼り付けて Save 保存と同時にプラグインがトークンの有効性を検証します

3‑2.自動的に挿入されるトラッキングコードの確認方法

  1. 任意のページを表示し、ブラウザの開発者ツールで Elements タブを開く。
  2. <head> 内に次のスクリプトが存在するか確認します。

  1. HubSpot の管理画面 → Reports(レポート)Tracking Code で「Recent events」(直近の訪問者)が増えていれば正常に計測されています。

ポイント:プラグインは wp_head フックを利用して必ず <head> にコードを挿入するため、テーマ更新やキャッシュが原因で抜け落ちるリスクがありません。


4. カスタム PHP から HubSpot API を呼び出す実装例

4‑1.コンタクト作成(v3 API 推奨)

HubSpot の最新 API(v3)ではプロパティは namevalue のオブジェクト配列で渡します。

呼び出し例
add_action('user_register', function($user_id){ ... }); のように WordPress ユーザー登録フックで実行すると、会員情報が自動的に HubSpot に同期できます。

4‑2.フォーム送信データ取得(最新エンドポイント)

HubSpot Forms API(v3)では以下の URL が使用されます。hapikey は不要です。

ポイント:取得したデータは results キー配下に配列で格納され、各送信項目は values オブジェクトとしてアクセスできます。


5. ノーコードツールによる双方向自動化

5‑1.HubSpot → WordPress(新規コンタクトをカスタム投稿に変換)

Zapier 手順

ステップ 操作内容
Trigger HubSpot アプリ > New Contact を選択。OAuth 認証でプライベートアプリのトークンを自動取得。
Action Webhooks by Zapier → POST リクエスト送信。URL: https://example.com/wp-json/wp/v2/posts(WordPress REST API)。
Headers Authorization: Basic BASE64(username:application_password) (WordPress のアプリケーションパスワード)
Body (JSON) json { "title": "{{email}}", "content": "First name: {{firstname}}\nLast name: {{lastname}}", "status": "publish", "categories": [2] }
Test Zapier のテスト実行で WordPress に投稿が作成されれば完了。

Make.com 手順

  1. Scenario 作成 → HubSpot モジュール > Watch Contacts を設定。
  2. 次に HTTP モジュールで POST https://example.com/wp-json/wp/v2/posts を呼び出す。認証は同様に Basic 認証か JWT でも可。
  3. データマッピング画面で HubSpot のプロパティ → WordPress のフィールドを紐付け、Run once で動作確認。

5‑2.WordPress フォーム → HubSpot(リード自動送信)

プラグイン 主な設定ポイント
Contact Form 7 + Webhook メール (2) の「送信先 URL」に Zapier/Make.com が提供する https://hooks.zapier.com/... を入力し、json 形式でフィールドを列挙。
WPForms + Webhooks アドオン 「Webhooks」タブ → エンドポイント URL に同様に設定。送信データは自動的に JSON 化されます。

Zapier 側では Catch Hook トリガー → HubSpot の Create or Update Contact アクションを選択し、マッピングすれば完了です。

注意:Webhook 経由で受け取るデータは必ずサニタイズし、WordPress 側のエンドポイントは認証(Basic 認証や IP 制限)を施してください。


6. トークン・シークレットの安全な保管方法

6‑1..envwp-config.php の連携(推奨)

.env ファイル例(サーバー上に配置し、必ず .gitignore に追加):

6‑2.WP‑CLI 秘密管理の活用例

メリット:CLI だけで生成・更新が完結するため、人為的ミスが減り、CI/CD パイプラインからも安全にローテーションできます。


7. 導入後の検証チェックリスト

項目 確認手順
トラッキングコード ブラウザでページソース → <script id="hs-script-loader"> が存在か確認
リアルタイム訪問者数 HubSpot ダッシュボード > 「レポート」>「トラッキングコード」→リアルタイムカウントが増加
API 応答ログ wp-content/debug.logerror_log() で出力されたステータスコードとレスポンス内容を確認
コンタクト同期 HubSpot の「Contacts」一覧に WordPress から送信したメールアドレスが表示されるか
トークン自動更新 WP‑Cron が正しく走っているか wp cron event list を実行し、hubspot_hourly_token_refresh が存在することを確認
CORS/レートリミット 大量リクエスト時に 429 エラーが出ないか、バックオフロジックのログで検証

ポイント:すべての項目が OK なら本番環境でも安定稼働が期待できます。


8. トラブルシューティング

8‑1.401 Unauthorized(認証エラー)

原因 対策
アクセストークン期限切れ hubspot_refresh_access_token() を即時実行し、取得した新トークンで再リクエスト
スコープ不足 プライベートアプリ設定画面で必要なスコープを追加 → 再度認可コード取得 → 新しいアクセストークン発行
誤った Authorization ヘッダー形式 Authorization: Bearer <TOKEN> が正しく送信されているか確認(余計な空白や改行がない)

8‑2.CORS エラー

WordPress 側で外部から直接 HubSpot API を呼び出す場合は サーバー側プロキシ を作成し、ブラウザからは自サイトのエンドポイントだけにアクセスさせます。

8‑3.レートリミット(429)対策

HubSpot は 10 000 リクエスト/日 の上限があります。以下の実装で自動的にバックオフします。


まとめ(Key Takeaways)

  1. プライベートアプリ+OAuth が唯一の認証手段。スコープは必ず URL エンコードし、リダイレクト URI を事前に登録すること。
  2. アクセストークンは 6 時間 で失効。refresh_token と WP‑Cron による自動更新を実装すれば、手作業は不要です。
  3. HubSpot All‑In‑One Marketing プラグインはトラッキングコードの設置から OAuth トークン管理まで一括で提供。ノーコードでの導入が最速です。
  4. カスタム PHP では v3 API と正しいエンドポイントを使用し、wp_remote_* 系関数と get_option() によるトークン取得で安全かつ保守性の高い実装が可能。
  5. Zapier / Make.com を活用すれば 双方向自動化 がコード不要で構築でき、リード情報のリアルタイム同期が実現します。
  6. シークレットは .env + wp-config.php、または WP‑CLI 秘密管理 で環境変数として保持し、Git に流出させないよう徹底してください。
  7. 本番導入前に テストチェックリスト(トラッキングコード・API ログ・トークン更新・CORS)をすべてクリアし、エラーは 401/429 の対処法で速やかに復旧できる体制を整えておくことが重要です。

これらの手順とベストプラクティスに沿って実装すれば、HubSpot と WordPress の連携は 安全・高速・拡張性 を兼ね備えた状態で本番運用できます。ぜひ本稿を参考に、マーケティングオートメーションの第一歩を踏み出してください。

スポンサードリンク

お得なお知らせ

スポンサードリンク
タイプ別にすぐ選べる

DXを前に進める、あなたの立場は?

DXは"組織でやる"か"まず自分が学ぶ"かで必要な打ち手が違います。立場に合わせて選んでください。

▷ 部署・全社のAIリテラシーを底上げしたい決裁者・推進担当者

【Kindle本】イノベーションOps 組織を動かすDX&AI導入プロセスのすべて▶

▷ 様々なDX事例・フレームワークを頭に入れたい担当者 | 読みやすい本をさがしてみましょう

Kindle Unlimited 30日無料|DX/業務効率本読み放題▶

※DXは最初の一歩が肝心なので様々なキャッチアップをしましょう

▶ その他では 【kindke本】AIエージェント時代のDX ビジネスオーケストレーションの衝撃 / 生成AIカテゴリー が参考になります。


-Hubspot