【HubSpot】サーバーレス関数で「いいね」ボタンを作ろうとした記録 💔
【HubSpot】サーバーレス関数で「いいね」ボタンを作ろうとした記録 💔
2:05
📍この記事は、ChatGPT に書いてもらってます
背景
ブログ記事に「いいね」ボタンを設置し、クリック時にHubDBのカウントを更新する仕組みを作ろうとした。最初はフォームAPIを使って実装していたが、以下の問題が発生した。
- フォームAPIではクッキー情報が取得できず、コンタクトが増えすぎる
- HubDBの更新に時間がかかり、値のラグが発生する
これを解決するために、サーバーレス関数を使ってHubDBを直接更新する方法を検討。また、フロントエンド側にはカスタムモジュールを使用して実装を進めた。
試したこと
- HubSpotのサーバーレス関数を使い、API経由でHubDBのデータを取得・更新
- 「いいね」ボタンが押されると、HubDBの対象記事の「いいね」カウントを増やす処理を実装
- HubDBのデータ更新には、
draft
に一時保存した後publish
する必要があった
つまずいた点
- サーバーレス関数側では「いいね」数が更新されているが、HubDB側の更新がうまくできていない
- フロントエンド側でボタンを押しても、すぐに数字が増えない(更新ラグが発生)
- ページを読み込むと、いいね数が0になってしまう(データの取得やキャッシュの問題)
結論(現状)
サーバーレス関数を使ってHubDBのデータ更新は可能だが、以下の課題がある。
- リアルタイム性に課題がある(
draft
→publish
の処理が必要) - フィルタリングの挙動を再確認する必要がある
- フロントエンド側の動作とデータの一貫性に問題がある
一旦、他の方法(カスタムオブジェクトや別のAPI)も検討することにした。
次に試すこと
- HubSpotのキャッシュとHubDBの更新フローを詳しく調査
- より適切なフィルタリング方法を模索
- フロントエンド側のデータ取得方法を見直す
- 他のデータストレージ方法を検討する
(完)