2016-11-14 1 views
0

Я пытаюсь отправить sms с моим приложением laravel. У меня есть infobip счет тестирования и использования, что все детали смс смс, но получаю эту ошибку:Infobip службы sms с использованием жужжания в laravel

ClientException in RequestException.php line 111: 
Client error: `POST https://api.infobip.com/sms/1/text/single` resulted in a  `401 Unauthorized` response: 
{"requestError":{"serviceException": {"messageId":"UNAUTHORIZED","text":"Invalid login details"}}} 

КОД:

$data= '{ 
     "from":"InfoSMS", 
     "to":"923227124444", 
     "text":"Test SMS." 
    }'; 
    $userstring = 'myuserame:password'; 
    $id =base64_encode ('myuserame:password'); 
    echo 'Basic '.$id; 
    $client = new \GuzzleHttp\Client(); 
    $request = $client->post('https://api.infobip.com/sms/1/text/single',array(
      'content-type' => 'application/json' 
      ),['auth' => ['myusername', 'password']]); 
    $request->setHeaders(array(
     'accept' => 'application/json', 

     'authorization' => 'Basic '.$id, 
     'content-type' => 'application/json' 
    )); 
    $request->setBody($data); #set body! 
    $response = $request->send(); 
    echo $res->getStatusCode(); // 200 
    echo $res->getBody(); 
    return $response; 

Имя пользователя и pssword правы, когда я попытался отправить прямой текстовое сообщение от сайт и его работа там.

Может ли кто-нибудь помочь мне с тем, что я делаю неправильно?

Спасибо!

ответ

1

Таким образом, я устал решать проблему с помощью curl, и я получил его, работая по размещению кода для других. Код:

$data_json = '{ 
     "from":"Infobip", 
     "to":"9232271274444", 
     "text":"test msg." 
    }'; 
    $authorization = base64_encode('username:password'); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Accept: application/json',"Authorization: Basic $authorization")); 
    //curl_setopt($ch, CURLINFO_HEADER_OUT, true); 
    curl_setopt($ch, CURLOPT_URL, 'https://api.infobip.com/sms/1/text/single'); 

    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $response = curl_exec($ch); 
    //var_dump(curl_getinfo($ch)); 
    var_dump($response); 
    curl_close($ch);*/ 
1

Вам не нужно передавать имя пользователя/пароль, как вы, read in the infobip api developer manuals.

Попробуйте это:

$authEncoded = base64_encode('myuserame:password'); 
$data = array(
    "from" => "InfoSMS", 
    "to" => "923227124444", 
    "text" => "Test SMS." 
); 
$request = new Request('POST', 'https://api.infobip.com/sms/1/text/single', 
    array(
     'json' => $data, 
     'headers' => array(
      'Authorization' => 'Basic ' . $authEncoded, 
      'Accept' => 'application/json', 
      'Content-Type' => 'application/json', 
     ) 
    ) 
); 
$client = new \GuzzleHttp\Client(); 
$response = $client->send($request); 
echo $response->getBody(); 

я не могу проверить это сам сейчас так держать меня в курсе, если он работал или вы получите сообщение об ошибке.

+0

Я получаю запрос об ошибке в этом, но я устал решать его с помощью завитка. размещая код здесь. –

Смежные вопросы