我目前正在使用 Amazon AWS SNS 向客户发送 SMS。SMS 工作正常,但是我想根据结果在提交表单时简单地显示成功或错误消息。在下面的成功消息上提交表单后的结果。我可以看到带有 int(200) 的 statusCode 表示它已成功发送。我如何获取它并使用它来显示成功或错误消息?object(Aws\Result)#117(2){ [ "data": "Aws\Result": private ]=>array(2){ [ "MessageId" ]=>string(36)"f12f2261-5e13-54e8-b72e-37s26fd3c348"[ "@metadata" ]=>array(4){ [ "statusCode" ]=>int(200)[ "effectiveUri" ]=>string(35)"https://sns.eu-west-1.amazonaws.com"[ "headers" ]=>array(4){ [ "x-amzn-requestid" ]=>string(36)"716dase5-f048-5d35-8af0-sf36ce583d95"[ "content-type" ]=>string(8)"text/xml"[ "content-length" ]=>string(3)"294"[ "date" ]=>string(29)"Tue, 18 Jun 2019 19:31:28 GMT" }[ "transferStats" ]=>array(1){ [ "http" ]=>array(1){ [ 0 ]=>array(0){ } } } } }[ "monitoringEvents": "Aws\Result": private ]=>array(0){ }}php代码:if(isset($_POST['gateeway'])){ $sender_id = $_POST['sender_id']; $message = $_POST['message']; $topic = 'arn:aws:sns:eu-west-1:52732446504:Testing'; try { $result = $sns->publish([ 'TargetArn' => $topic, 'Message' => $message, 'MessageAttributes' => [ 'AWS.SNS.SMS.SenderID' => [ 'DataType' => 'String', 'StringValue' => $sender_id, ], 'AWS.SNS.SMS.SMSType' => [ 'DataType' => 'String', 'StringValue' => 'Promotional', ] ] ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); } }
1 回答

慕姐4208626
TA贡献1852条经验 获得超7个赞
你可以得到这样的状态码
$metaInfo = $result->get('@metadata');
if($metaInfo ['statusCode'] === 200){
echo "Message Sent";
}
- 1 回答
- 0 关注
- 139 浏览
添加回答
举报
0/150
提交
取消