如何使用 Laravel 5.6 和 PHP 检查是否已从 Amazon AWS SNS 服务成功发送 SMS?
How to check whether SMS has been successfully sent from Amazon AWS SNS service using Laravel 5.6 and PHP?
我正在使用 Amazon Web Server 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>";
当我 var_dump $result 时,我得到以下数据:-
object(Aws\Result)#352 (1) {
["data":"Aws\Result":private]=>
array(2) {
["MessageId"]=>
string(36) "xxxxxxxxxx-xxxxxa-xxxx-xxxx7-xxxxxxxxxx"
["@metadata"]=>
array(4) {
["statusCode"]=>
int(200)
["effectiveUri"]=>
string(40) "https://xxxxxxxxxxxxxxxxxxxx.amazonaws.com"
["headers"]=>
array(4) {
["x-amzn-requestid"]=>
string(36) "yyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyy"
["content-type"]=>
string(8) "text/xml"
["content-length"]=>
string(3) "294"
["date"]=>
string(29) "Tue, 05 Jun 2018 10:46:11 GMT"
}
["transferStats"]=>
array(1) {
["http"]=>
array(1) {
[0]=>
array(0) {
}
}
}
}
}
}
如何查看短信是否发送成功?有一个状态码。但是我无法正确遍历对象来检索它的值。
可以得到如下数据
$meta = $response_object->get('@metadata');
if($meta['statusCode'] === 200){
echo "Message Sent";
}
if ($result['@metadata']['statusCode'] === 200) {
echo "Message sent";
}
我正在使用 Amazon Web Server 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>";
当我 var_dump $result 时,我得到以下数据:-
object(Aws\Result)#352 (1) {
["data":"Aws\Result":private]=>
array(2) {
["MessageId"]=>
string(36) "xxxxxxxxxx-xxxxxa-xxxx-xxxx7-xxxxxxxxxx"
["@metadata"]=>
array(4) {
["statusCode"]=>
int(200)
["effectiveUri"]=>
string(40) "https://xxxxxxxxxxxxxxxxxxxx.amazonaws.com"
["headers"]=>
array(4) {
["x-amzn-requestid"]=>
string(36) "yyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyy"
["content-type"]=>
string(8) "text/xml"
["content-length"]=>
string(3) "294"
["date"]=>
string(29) "Tue, 05 Jun 2018 10:46:11 GMT"
}
["transferStats"]=>
array(1) {
["http"]=>
array(1) {
[0]=>
array(0) {
}
}
}
}
}
}
如何查看短信是否发送成功?有一个状态码。但是我无法正确遍历对象来检索它的值。
可以得到如下数据
$meta = $response_object->get('@metadata');
if($meta['statusCode'] === 200){
echo "Message Sent";
}
if ($result['@metadata']['statusCode'] === 200) {
echo "Message sent";
}