0
"Survey Monkey"のウェブフックを設定する際に問題があります。 APIによると、ドキュメント:Survey Monkey - webhook私はすべての必要な引数が自分のコードでカバーされていると思うが、私はエラー "身体の無効なスキーマが提供されて"を取得します。これは主に、POSTされたJSON文字列データに問題があることを意味します。しかし、私は...何が間違っているSurvey Monkey API用のPHPカール - webhook
私のカールを見つけることができません。
$surveyId = '123456789';
$data_string = array(
'name' => 'my webhook 1233456789 name',
'event_type' => 'response_completed',
'object_type' => 'survey',
'object_ids' => array($surveyId),
'subscription_url' => 'http://sometunnel.ngrok.io/job-survey-monkey-listener/completed',
);
$data_string = json_encode($data_string);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.surveymonkey.net/v3/webhooks');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: bearer 123myaccestoken456.abc.def', 'Content-Length: ' . strlen($data_string)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
$server_output = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($server_output, true)); die;
調査モンキーからの戻りのダンプがある:
array (size=1)
'error' =>
array (size=5)
'docs' => string 'https://developer.surveymonkey.com/api/v3/#error-codes' (length=54)
'message' => string 'Invalid schema in the body provided.' (length=36)
'id' => string '1002' (length=4)
'name' => string 'Bad Request' (length=11)
'http_status_code' => int 400
私はここで間違って何をしますか?
Bodyが正しく見えますが、 'object_ids'はIDのリストであることを確認してください*文字列*?あなたの例は、文字列としてハードコードされたID「123456789」を持っていますが、実際のコードで送信される値は多分でしょうか? –
それを見つけたら、あなたの答えは私に考えさせ始めました。私は地元のコードの最初に整数としてIDを送りましたが、それは間違っていました。上の私のコード例では、 "$ surveyId = '123456789'という行を追加しました;"これをスタックオーバーフローに関する質問として表示する。これは実際には正しいコードです! 調査IDは文字列でのみ機能し、整数では機能しません。問題に私に指示を与えてくれてありがとう! – Julesezaar