誓言2 访问令牌 API 响应"expires_on"日期无效



我正在将我的访问令牌的到期日期与伦敦的当前日期进行比较。我只是想在这个阶段转换时间/日期。有人能向我解释一下为什么我的回复中的截止日期在生成访问令牌之前吗?我在跑步http://phpfiddle.org/.

我称之为API:https://login.microsoftonline.com/"ID"/oauth2/令牌

得到这样的回应:"expires_on":"1596726056〃;,

然后相信我正在把它从纪元转换为人类可读的:

$expires = var_dump($tokenResponse_data->{'expires_on'});
var_dump(date('Y-m-d h:i:s', $expires));

但是得到这个结果,即使我今天才生成令牌:"1969-12-31 07:00:00";。

这是完整的代码,减去我的凭据:

<?php
$curl_handle = curl_init();

$tokenUrl = "https://login.microsoftonline.com/"app id"/oauth2/token";

curl_setopt($curl_handle, CURLOPT_URL, $tokenUrl);

curl_setopt($curl_handle, CURLOPT_POST, 1);

curl_setopt($curl_handle, CURLOPT_POSTFIELDS,
"grant_type=client_credentials&client_id="id"&client_secret="client secret"--r~-PWm1&scope=https://graph.microsoft.com/Calendars.Read");

curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);

$curl_tokenData = curl_exec($curl_handle);

curl_close($curl_handle);
$tokenResponse_data = json_decode($curl_tokenData);
$expires = var_dump($tokenResponse_data->{'expires_on'});
var_dump(date('Y-m-d h:i:s', $expires));
?>

我没有做错什么?有什么想法吗?谢谢

看起来像是使用var_dump的副作用,它扰乱了$expires变量-这很有效:

$expires = 1596726056;
var_dump($expires);
$displayValue = date('Y-m-d h:i:s', $expires);
var_dump($displayValue);

相关内容

最新更新