Skip to content
気ままに、ちまちま。テックと日常。

【HubSpot】サーバーレス関数で「いいね」ボタンを作ろうとした記録 💔

【HubSpot】サーバーレス関数で「いいね」ボタンを作ろうとした記録 💔
2:05

📍この記事は、ChatGPT に書いてもらってます

背景

ブログ記事に「いいね」ボタンを設置し、クリック時にHubDBのカウントを更新する仕組みを作ろうとした。最初はフォームAPIを使って実装していたが、以下の問題が発生した。

  • フォームAPIではクッキー情報が取得できず、コンタクトが増えすぎる
  • HubDBの更新に時間がかかり、値のラグが発生する

これを解決するために、サーバーレス関数を使ってHubDBを直接更新する方法を検討。また、フロントエンド側にはカスタムモジュールを使用して実装を進めた。

試したこと

  • HubSpotのサーバーレス関数を使い、API経由でHubDBのデータを取得・更新
  • 「いいね」ボタンが押されると、HubDBの対象記事の「いいね」カウントを増やす処理を実装
  • HubDBのデータ更新には、draft に一時保存した後 publish する必要があった

つまずいた点

  • サーバーレス関数側では「いいね」数が更新されているが、HubDB側の更新がうまくできていない
  • フロントエンド側でボタンを押しても、すぐに数字が増えない(更新ラグが発生)
  • ページを読み込むと、いいね数が0になってしまう(データの取得やキャッシュの問題)

結論(現状)

サーバーレス関数を使ってHubDBのデータ更新は可能だが、以下の課題がある。

  • リアルタイム性に課題がある(draftpublish の処理が必要)
  • フィルタリングの挙動を再確認する必要がある
  • フロントエンド側の動作とデータの一貫性に問題がある

一旦、他の方法(カスタムオブジェクトや別のAPI)も検討することにした。

次に試すこと

  • HubSpotのキャッシュとHubDBの更新フローを詳しく調査
  • より適切なフィルタリング方法を模索
  • フロントエンド側のデータ取得方法を見直す
  • 他のデータストレージ方法を検討する

(完)

Reina

Written by Reina

HubSpot CMS (現 Content Hub) をメインに 気になったことをまとめます。猫が好きです