Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Sinch SMS Api授权错误_Php_Api_Sms_Sinch - Fatal编程技术网

Php Sinch SMS Api授权错误

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";

我正在尝试使用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";
 $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);

 }