Как я могу получить ответ от жрет в Laravel 5.3 - PullRequest
1 голос
/ 06 февраля 2020

Я пытаюсь так:

$client = new Client();
$res = $client->request('POST', 'https://api.orange.com/smsmessaging/v1/outbound/tel:+phone/requests/', [
            'headers' => [
                'Accept' => 'application/json',
                'Content-Type' => 'application/json',
                'Authorization'=>'Bearer '.$token,
                /*'Content-Type' => 'application/x-www-form-urlencoded',*/
            ],
            /*'form_params' => $body ,*/
            'json' => [
                'outboundSMSMessageRequest'=>[
                'address'=> 'tel:+$phone',
                'senderAddress'=>'tel:+phone_rec',
                'outboundSMSTextMessage'=>[
                     'message'=> 'Hello test!'
                ]
            ]],
            'debug'   => true,
            'verify' => false,
                ]
        );
        $res->getStatusCode();
        // 200
        $res->getHeader('content-type');
        // 'application/json; charset=utf8'
        $res->getBody();

При выполнении результатом является ошибка curl_setopt_array (): не может представлять поток типа Output в виде STDIO FILE * Как я могу получить ответ?

Я пытаюсь в почтальоне, он с успехом получает ответ

Но я пытаюсь использовать жрет, это не удалось

Ответы [ 2 ]

0 голосов
/ 06 февраля 2020

Я решил это так

 $requestContent = [
            'headers' => [
                'Accept' => 'application/json',
                'Content-Type' => 'application/json',
                'Authorization'=>'Bearer '.$token,
            ],
            'json' => [
                'outboundSMSMessageRequest'=>[                        
                'address'=> "tel:youre-phone",
                'senderAddress'=>'tel:+phone_rec',
                    'outboundSMSTextMessage'=>[
                        'message'=> 'Hello test !'
                    ]
                ]
            ]
        ];
        try {
            $client = new Client();
            $res = $client->request('POST', 'https://api.orange.com/smsmessaging/v1/outbound/tel:+phone_rec/requests/', $requestContent);
            $response = json_decode($res->getBody());
            dd($response);
        } catch (RequestException $re) {

        }
0 голосов
/ 06 февраля 2020

Вы можете попробовать код ниже:

try {
    $client = new Client();
    $token = 'token';
    $res = $client->request('POST', 'https://api.orange.com/smsmessaging/v1/outbound/tel:+phone/requests/', [
            'headers' => [
                'Content-Type' => 'application/json',
                'Authorization'=>'Bearer '. $token,
            ],
            'json' => [
                'outboundSMSMessageRequest'=>[
                    'address'=> "tel:youre-phone",
                    'senderAddress'=>'tel:+phone_rec',
                    'outboundSMSTextMessage'=>[
                        'message'=> 'Hello test!'
                    ]
                ]],
            'debug'   => true,
            'verify' => false,
        ]
    );
    echo $res->getBody();
} catch ( \GuzzleHttp\Exception\ClientException $exception ) {
    echo $exception->getResponse()->getBody();
}
...