2016-10-13 13 views
0

メッセージが完全に機能している間、私はFacebookのWebhookのフィードに問題があります。 1つの投稿については、Facebookから複数の通知を受けています。私は既にFacebookでバグを提起しており、彼らのチームは私のサーバーが200 OK HTTPステータスを返送していないと言っています。また、そのドキュメントに私はFacebookフィードの複数のwebhook通知を受信

は「Facebookから呼び出されたときにあなたのウェブフックのコールバックは、常にあなたのウェブフックは、メッセンジャープラットフォームで退会される可能性がありそうしない。200 OK HTTPレスポンスを返すべきである。」ということを発見しました

私のコードは次のようになります:

<?php 
$challenge = $_REQUEST['hub_challenge']; 
$verify_token = $_REQUEST['hub_verify_token']; 

if ($verify_token === 'password') 
{ 
echo $challenge; 

} 

/*........RECEIVING INPUT FROM fACEBOOK.........*/ 
$input = json_decode(file_get_contents('php://input') , true); 
error_log(print_r($input, true)); 

/*after this i am calling AI and then replying back*/ 

はPHPでAIを呼び出す前に200のOKのステータスを返送する方法はあります。

+0

[link](http://requestmaker.com)からダミーリクエストを作成しようとしましたが、ステータスとして200を取得しています。 – Sudhir

+0

PHPは、デフォルトで200に設定されています。重大なエラーが発生しない場合(内部サーバーエラーなど、500になるような場合)、適切なエラーログを有効にし、アクセスとエラーログを調べて方法を確認しますFacebookが実際に要求するものはあなたのスクリプトによって返答されます。 – CBroe

+0

私はすべてのステップでエラーログを取得しており、すべてのステップが時間制限内でうまく実行されています。 – Sudhir

答えて

0

回避策として、通知をDBに保存し、DB内の既存のデータ(timestamp、senderId、post)をチェックして、重複する投稿を排除します。

複雑さの点で誰かがより良い選択肢を持っている場合は、私たちにお知らせください。

関連する問題