我正在使用从GET
请求
例如
https://api.domain.com/v1/Account/{auth_id}/Call/{call_uuid}
返回
{
"call_duration": 4,
"total_amount": "0.00400"
}
如何在脚本中调用此页面并将call_duation
和total_amount
保存为单独的变量?
如下所示?:
$call_duration =
$_GET[https://api.domain.com/v1/Account/{auth_id}/Call/{call_uuid}, 'call_duration'];
答案 0 :(得分:2)
如果PHP启用了allow_url_fopen,您只需执行
即可json_decode(file_get_contents('https://api.domain.com/v1/Account/{auth_id}/Call/{call_uuid}'))
否则你将不得不求助于使用像Curl这样的东西来获取请求。 $ _GET是一个超全局数组,它实际上并不是做任何东西。它仅包含脚本启动的内容。它本身不会提出任何要求。
答案 1 :(得分:2)
$_GET[]
包含传递给您代码的get
参数 - 它们不会生成GET
请求。
您可以使用curl
发出请求:
$ch = curl_init("https://api.domain.com/v1/Account/{auth_id}/Call/{call_uuid}");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$result = json_decode($output);
答案 2 :(得分:-1)
使用curl获取JSON,然后使用json_decode将其解码为PHP变量
$auth_id = 'your auth id here';
$call_uuid = 'your call_uuid here';
// initialise curl, set URL and options
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://api.domain.com/v1/Account/{$auth_id}/Call/{$call_uuid}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// get the response and decode it
$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response);
$call_duration = $response['call_duration'];
$total_amount = $response['total_amount'];