PHPでAWS SNSのHTTP接続の確認を取得できません。私のアプリケーションはLaravel 5.1で開発されました。PHPのAWS SNS HTTPサブスクリプション確認
私はトピックを作成し、サブスクリプションを追加しました。私はHTTPとしてエンドポイントを選択し、URL http://myurl.com/snsを提供しました。 - 私は以下のエラーを取得し、http://myurl.com/snsブラウザで
Route::get('/sns', [
'as' => 'sns',
'uses' => '[email protected]',
]);
私はURLを呼び出すとき:
public function getSnsMessage()
{
$message = Message::fromRawPostData();
$validator = new MessageValidator();
// Validate the message and log errors if invalid.
try {
$validator->validate($message);
}catch (InvalidSnsMessageException $e) {
// Pretend we're not here if the message is invalid.
http_response_code(404);
error_log('SNS Message Validation Error: ' . $e->getMessage());
die();
}
// Check the type of the message and handle the subscription.
if ($message['Type'] === 'SubscriptionConfirmation') {
// Confirm the subscription by sending a GET request to the SubscribeURL
file_get_contents(public_path() . '/awssns.txt','SUB URL MESSAGE = '.$message['SubscribeURL'].PHP_EOL, FILE_APPEND);
}
}
マイルートファイルエントリがあるの下
私のPHPコードです。
RuntimeException in Message.php line 35:SNS message type header not provided.
1. in Message.php line 35
2. at Message::fromRawPostData() in SnsEndpointController.php line 26
3. at SnsEndpointController->getSnsMessage(object(Request))
4. at call_user_func_array(array(object(SnsEndpointController),
'getSnsMessage'), array(object(Request))) in Controller.php line 256
I私の作曲で、次があります。
"aws/aws-sdk-php-laravel": "^3.1",
"aws/aws-php-sns-message-validator": "^1.2"
このエラーを解決するには、私のサブスクリプションの確認を取得する方法上の任意のヘルプ?
あなたのヒントのおかげで。 VerifyCsrfTokenで例外を追加した後、動作を開始しました。 ありがとうございます。 – Prabesh