Php Sinch SMS Api授权错误
我正在尝试使用Sinch Sms Api,但是我一直遇到一个错误:签名无效,下面是我用来调用Api的PHP代码,有人能帮我吗。?谢谢 是时间戳吗。?我正在使用这行代码$UTC_str=gmdate(“Y-m-d\TH:I:s\Z”)创建UTC时间戳Php Sinch SMS Api授权错误,php,api,sms,sinch,Php,Api,Sms,Sinch,我正在尝试使用Sinch Sms Api,但是我一直遇到一个错误:签名无效,下面是我用来调用Api的PHP代码,有人能帮我吗。?谢谢 是时间戳吗。?我正在使用这行代码$UTC_str=gmdate(“Y-m-d\TH:I:s\Z”)创建UTC时间戳 也许,您可以共享所有变量的输出,服务器上的时间将返回UTC时间吗?嘿,谢谢您的回复,这是我创建的时间戳,2017-04-13T07:22:49Z <?php $key = "000000-1111-4335-b1c1-11111111";
也许,您可以共享所有变量的输出,服务器上的时间将返回UTC时间吗?嘿,谢谢您的回复,这是我创建的时间戳,2017-04-13T07:22:49Z
<?php
$key = "000000-1111-4335-b1c1-11111111";
$secret = "0000000000000/rw==";
$phone_number = "919920283453";
$S_date = date('Y-m-d H:i:s');
$datetime = date("Y-m-d H:i:s", time() - date("Z"));
$message = "Hello";
$from ="";
$utc_str = gmdate("Y-m-d\TH:i:s\Z");
$data = json_encode(array('Message'=>$message, ));
$content_type = "application/json; charset=UTF-8";
$canonicalized_headers = "x-timestamp:".$utc_str ;
$path = "/v1/sms/".$phone_number;
$content_md5 = base64_encode( md5( utf8_encode($data), true ));
$string_to_sign =
"POST\n".
$content_md5."\n".
$content_type."\n".
$canonicalized_headers."\n".
$path;
$generator = new SinchTicketGenerator($key, $secret);
$signature = base64_encode(hash_hmac("sha256",
utf8_encode($string_to_sign), $secret, true));
$authorization = "application " . $key . ":" . $signature;
$ch = curl_init('https://messagingapi.sinch.com/v1/sms/' .
$phone_number);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('content-type:
application/json; charset=UTF-8',
'x-timestamp:' .
$utc_str,
'authorization:' .
$authorization));
$result = curl_exec($ch);
if(curl_errno($ch)) {
echo 'Curl error: '. curl_error($ch);
} else {
echo $result;
}
curl_close($ch);
}