如何使用Laravel 5.6和PHP检查Amazon AWS SNS服务是否已成功发送短信?
我正在使用亚马逊网络服务器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 ),
$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";
}