【发布时间】:2020-11-11 19:25:27
【问题描述】:
我发布到 API 以获取授权令牌。问题是这个令牌只激活了 24 小时,所以我正在创建一个每 24 小时获取一个新令牌的 cronjob。
这是我使用 CURL 的帖子:
<?PHP
// GET auth token
$url = 'https://website.nl';
$data = array("client_id" => "myclientid","client_secret" => "mysecret");
$postdata = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec($ch);
curl_close($ch);
echo '<pre>';
print_r ($result);
echo '</pre>';
?>
这会返回:
{
"payload": "{\"access_token\":\"my_auth_token\",\"expires_in\":86400,\"token_type\":\"Bearer\"}"
}
我怎样才能得到access_token 作为唯一的输出?我试过回显有效载荷,但我不知道该怎么做。
echo $result[0]->payload;
echo $result->payload;
两者都不起作用。
【问题讨论】:
-
尝试
$result['payload']返回一个json字符串,然后解析它。 -
@Gavin 打印或回显仅返回
{