Я использую Httpful PHP библиотеку из http://phphttpclient.com/ , вот мой пример кода:
$uri = "https://ideabiz.lk/apicall/token?grant_type=password&username=user&password=pwd&scope=PRODUCTION";
$response= \Httpful\Request::post($uri)
->sendsJson()
->addHeaders(array(
'Accept' => 'application/x-www-form-urlencoded',
'Authorization' => 'Basic b28yWTJqNjJoSDN4dHdHNXVkZHhhd2RjWEhrYTp0Zlp5UU1NVEJTcGZiSGFDWFJmQTFvWTJCb2dh',
))
->send();
echo $response;
Но это ничего не возвращает. (Тело здесь должно быть пустым.)
Я пытался даже так
$url = "https://ideabiz.lk/apicall/token";
$response = \Httpful\Request::post($url)
->sendsJson()
->authenticateWith('user', 'pwd')
->body('{
"grant_type":"password",
"scope":"PRODUCTION"}')
->addHeaders(array(
'Accept' => 'application/x-www-form-urlencoded',
'Authorization' => 'Basic b28yWTJqNjJoSDN4dHdHNXVkZHhhd2RjWEhrYTp0Zlp5UU1NVEJTcGZiSGFDWFJmQTFvWTJCb2dh',
))
->send();
echo $response;
Но это ничего не возвращает.
Что я должен делать ..?
Наконец то сделал вот так
$url = "https://ideabiz.lk/apicall/token?grant_type=password&username=tcmolserviceapp&password=Srilanka201804&scope=PRODUCTION";
$response = \Httpful\Request::post($url)
->expectsJSON()
->body('')
->addHeaders(array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Authorization' => 'Basic b28yWTJqNjJoSDN4dHdHNXVkZHhhd2RjWEhrYTp0Zlp5UU1NVEJTcGZiSGFDWFJmQTFvWTJCb2dh'
))
->send();
$access_token = $response->body->access_token;
Используемый ->expectsJSON()
вместо ->sendsJson()
Других решений пока нет …