1

クライアントはすでに Smartsheets を使用しており、プロトタイプは少し不格好なので、既存のインターフェイスを Smartsheets に置き換えることは非常に便利です。そのために、Smartsheet API を学習するためにプロトタイプを作成していますが、Webhook を設定しようとすると壊れてしまいます。

Webhook を更新/有効化しようとしたときの出力は次のとおりです。

{"message": "SUCCESS",
 "resultCode": 0,
 "result": {

"id": 4253946970695556,
"name": "Webhook_test",
"apiClientId": "3oqnphhimgqzyimk40",
"apiClientName": "ChoiceIP",
"scope": "sheet",
"scopeObjectId": 7055538769946500,
"events": [
  "*.*"
],
"callbackUrl": "https://ghwd.net/write_requests_to_log.php",
"sharedSecret": "kpnc4nz7gwy91yjzcah2s6neq",
"enabled": false,
"status": "DISABLED_VERIFICATION_FAILED",
"disabledDetails": "An error occurred during SSL handshake. (ref id: fwhc0949r7km)",
"version": 1,
"createdAt": "2016-07-06T12:04:13Z",
"modifiedAt": "2016-07-07T06:04:20Z"
  }
}

応答を作成するスクリプトのコードは次のとおりです。

$headers = getallheaders();

if( isset( $headers['smartsheet-hook-challenge'] ) ) {

 header("Smartsheet-Hook-Response: " . $headers['smartsheet-hook-challenge']);
 echo $headers['smartsheet-hook-challenge'];
 return;

} else if( isset( $_POST['smartsheet-hook-challenge'] ) ) {

header("Smartsheet-Hook-Response: " . $_POST['smartsheet-hook-challenge']);
echo $_POST['smartsheet-hook-challenge'];
return;

} else {

 header("Smartsheet-Hook-Response: debug");

}

SSL ハンドシェイクが失敗するのはなぜですか?

4

1 に答える 1

2

ドメイン ghwd.net に有効な SSL 証明書をセットアップするか、有効な SSL 証明書を持つドメインを使用する必要があります。

Webhook を作成すると、Smartsheet は最初に安全な接続を介してコールバック URL への接続を試みます。安全な接続を確立できない場合、Webhook は無効になり、表示されているステータスが表示されますDISABLED_VERIFICATION_FAILED

Smartsheet Webhook ドキュメント

于 2016-07-07T17:30:55.640 に答える