ホームページ  >  に質問  >  本文

Webhook - 認証タイプ API キー - シークレット名とシークレット値 - PHP の

<p>API キー (シークレット名とシークレット値) を使用して Webhook を認証しようとしています。所以我制作了两个文件:</p> <p>webhook.php:</p> <pre class="brush:php;toolbar:false;"><?php include('webhook-api-key.php'); // Webhook POST リクエストからリクエスト本文を取得します。 if ($http_status_code === 200){ $request_body = file_get_contents('php://input'); // リクエストボディを JSON から PHP オブジェクトに変換します $request_data = json_decode($request_body); // リクエストデータから連絡先のプロパティを抽出します $contact_properties = $request_data->プロパティ; // 電子メールのプロパティ値を抽出します $email = $contact_properties->email->value; // 名のプロパティ値を抽出します $first_name = $contact_properties->firstname->value; // 姓のプロパティ値を抽出します $last_name = $contact_properties->lastname->value; // 連絡先データをデータベースに追加したり、電子メール通知を送信したりするなど、連絡先データに対して何らかの処理を行います。 // 例えば: $contact_data = 配列( '電子メール' => $メール、 '名' => $first_name、 '姓' => $last_name ); // 連絡先データをデータベースに追加するか、電子メール通知を送信します。 // Webhook が正常に受信され、処理されたことを示す HTTP 応答を HubSpot に送信します。 http_response_code(200); } ?></pre> <p>和 webhook-api-key.php:</p> <pre class="brush:php;toolbar:false;"><?php $endpoint_url = 'https://.../hubspot/webhook.php'; // API キーのシークレット名とシークレット値を設定します $api_key_secret_name = '単語'; $api_key_secret_value = 'anther_word'; // HTTP POST リクエストヘッダーを設定します $headers = 配列( 'コンテンツタイプ: application/json', '認可: ベアラー '.$api_key_secret_value ); // HTTP POST リクエストボディを設定します $body = 配列( 'api_key' => $api_key_secret_value ); // HTTP POST リクエストを Webhook エンドポイント URL に送信します $ch =curl_init($endpoint_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body)); $response =curl_exec($ch); // エラーをチェックする if(curl_errno($ch)) { $error_message =curl_error($ch); echo 'エラー: '.$error_message; } // HTTPレスポンスのステータスコードを取得する $http_status_code =curl_getinfo($ch, CURLINFO_HTTP_CODE); // HTTP POST リクエストを閉じる カール_クローズ($ch); // Webhook 応答を処理する if ($http_status_code === 200) { echo 'Webhook が正常に認証されました。'; } それ以外 { echo 'Webhook 認証が HTTP ステータス コードで失敗しました: ' 。 $http_status_code; } ?></pre> <p>Hubspot 構成では、ネットワークは「https:/.../hubspot/webhook.php」になります。</p> <p>これでいいですか?私がこれを質問したのは、テストしようとしたときにサーバーが停止し、この種の認証を使用する例がインターネット上で見つからないためです。 </p> <p>ありがとうございます! </p>
P粉545910687P粉545910687438日前545

全員に返信(1)返信します

  • P粉413307845

    P粉4133078452023-08-31 10:55:59

    つまり、実際には非常に簡単です。インターネット上には例がなく、ドキュメントも貧弱で、API キーよりも Hubspot 署名について詳しく説明されています。 ついにそれがどのように機能するかを理解しました。これが動作するコードです:

    リーリー

    返事
    0
  • キャンセル返事