I am new in laravel, I am getting an error when I am trying to access elements of json response in this case being access_token
details of the error:
'Cannot use object of type GuzzleHttp\Psr7\Response as array in file /home/chefane/myProjects/paylesotho/app/Http/Controllers/Api/EletricityController.php on line 34'
below I created a function that returns data in json format, now the trick is how to access one of the elements. below is what I did:
public function getToken(Request $request){
$url = Config('api.url');
$client = new \GuzzleHttp\Client();
$headers = [
'Content-Type' => 'application/x-www-form-urlencoded',
];
$response = $client->request('POST', $url, [$headers,
'form_params' => [
'client_id' => Config('api.client_id'),
'client_secret' => Config('api.client_secret'),
'username' => Config('api.username'),
'password' => Config('api.password'),
'grant_type' => 'password',
'scope' => 'read write openid'
]
]);
$data = json_decode($response->getBody(),true);
$key_value = $response['access_token'];
return $key_value;
}
below is what the function returns:
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJlUktVWG10TFhKMHBBNkxBS29aWko1ZlU0VDhCdmxKdERCb3pXanFFdnhjIn0.eyJleHAiOjE2ODU0ODUzOTMsImlhdCI6MTY4NTQ0OTM5MywianRpIjoiYWYxNTI5ZjAtNTdmYS00MjgyLWIzYTEtZWNlMzZlNjY4MzU2IiwiaXNzIjoiaHR0cHM6Ly9leHRhdXRoLmZpbmNsdWRlLmNvLnphL2F1dGgvcmVhbG1zL2ZpbmNsdWRlIiwic3ViIjoiZDNhNTNiZTgtZDgyOS00ZmU4LWI4ZmUtNGQzNDVkNzAzNWY4IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiQjJCX0FQSSIsInNlc3Npb25fc3RhdGUiOiJlNjE3MjdjNi03ZjdhLTQ4NDItODg0ZC1lNTdhY2UyYjczMDEiLCJhY3IiOiIxIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSByZWFkIHdyaXRlIiwicHJlZmVycmVkX3VzZXJuYW1lIjoicGF5bHNhcGkifQ.GSsBQxBA7ge0iXnLK3xvlkAXGPgT7DjfOGzB6JsNMJfjB9iqtE2tMHdKwOtIKOnCkZMeDQI1BJxoc-5voGNUeDVwNzJkP9DBnE3EbUZRs6_u4-flQdA2Ir0s3pZm3Cmn6q_iHWpBGEzPlQohbV26G3wEO6Y8qJ5oXz8A_t-IsoIWJzyVQvtTpu8Uqde43_XB9okzS0wtMaYLCUlNXl263eTkmP0fzOoXGfjUhuil_2ALxErCFSiBqCCfhsc8U5Om1Zpcz2cgrUkq_7ZEUF2VV4c7fZIjRsugx7n9zfQ-PqkQ7YznjI5mmbn-mnE7o0PGqw_p_goTvpf2pGZI5mdayg",
"expires_in": 36000,
"refresh_expires_in": 1800,
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIwZDkwY2JkNy03MTY0LTQyY2MtODhlMi1kMjE1ZTc5YWU4ZWEifQ.eyJleHAiOjE2ODU0NTExOTMsImlhdCI6MTY4NTQ0OTM5MywianRpIjoiZTA0NzY3YjctZmUyMS00MTdlLWE2ZGQtZDdhNGQ0ZGMxODIwIiwiaXNzIjoiaHR0cHM6Ly9leHRhdXRoLmZpbmNsdWRlLmNvLnphL2F1dGgvcmVhbG1zL2ZpbmNsdWRlIiwiYXVkIjoiaHR0cHM6Ly9leHRhdXRoLmZpbmNsdWRlLmNvLnphL2F1dGgvcmVhbG1zL2ZpbmNsdWRlIiwic3ViIjoiZDNhNTNiZTgtZDgyOS00ZmU4LWI4ZmUtNGQzNDVkNzAzNWY4IiwidHlwIjoiUmVmcmVzaCIsImF6cCI6IkIyQl9BUEkiLCJzZXNzaW9uX3N0YXRlIjoiZTYxNzI3YzYtN2Y3YS00ODQyLTg4NGQtZTU3YWNlMmI3MzAxIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSByZWFkIHdyaXRlIn0.t-ye9K9pBtMGQidk6SvYCP7Aa_uDV9_9wGXyeFbbbz0",
"token_type": "bearer",
}
I want the function to return only the access_token
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire