如何使用Laravel 5.6和PHP检查Amazon AWS SNS服务是否已成功发送短信?

如何使用Laravel 5.6和PHP检查Amazon AWS SNS服务是否已成功发送短信?,php,amazon-web-services,laravel-5.6,Php,Amazon Web Services,Laravel 5.6,我正在使用亚马逊网络服务器SNS向手机号码发送短信。这是我的密码:- $params = array( 'credentials' => array( 'key' => self::$smsKey, 'secret' => self::$smsSecret ),

我正在使用亚马逊网络服务器SNS向手机号码发送短信。这是我的密码:-

    $params = array(
        'credentials'   => array(
                                'key'    => self::$smsKey,
                                'secret' => self::$smsSecret
                            ),
        'region'        => 'ap-northeast-1', // < your aws from SNS Topic region
        'version'       => 'latest'
   );
   $sns = new \Aws\Sns\SnsClient($params);

   $args = array(
       "SenderID"       => self::$senderID,
       "SMSType"        => self::$smsType,
       "Message"        => $message,
       "PhoneNumber"    => $phonenumber
   );

   $result = $sns->publish($args);
   echo "<pre>";
   var_dump($result);
   echo "</pre>";

如何检查短信是否已成功发送?有一个状态代码。但我无法正确遍历对象以检索其值。

您可以获得如下数据

if ($result['@metadata']['statusCode'] === 200) {
    echo "Message sent";
}

$result=$sns->publish($args)$res=$result->get('metadata')给我$res作为空白阵列这是一个魅力!谢谢兄弟!很高兴帮助你,快乐编码兄弟,接受答案:)让三分钟过去,我会接受答案为“接受答案”。通过
$meta['statusCode']
获取代码,消息应该在
$meta['message']
如果找不到var_dump
$meta
对象以了解消息键,请解释该做什么以及为什么不仅要粘贴代码片段,还要参考如何得出答案
$meta = $response_object->get('@metadata');
if($meta['statusCode'] === 200){
  echo "Message Sent";
}
if ($result['@metadata']['statusCode'] === 200) {
    echo "Message sent";
}