php - https://oauth2.googleapis.com/tokeninfo 不会返回电子邮件
问题描述
我以前使用过此代码,我可以收到电子邮件,但现在无法正常工作....为什么?
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => "https://oauth2.googleapis.com/tokeninfo?id_token=".$id,
));
$resp = curl_exec($curl);
curl_close($curl);
try{
$resp = json_decode($resp,true);
if(empty($resp['error']))
return $resp;
else return null;
}catch (\Exception $e)
{
return null;
}
$id
是 access_token/ 我得到名字、图片、...但数组中没有电子邮件
解决方案
简单的答案来自文档:
仅当用户已将“电子邮件”OAuth 范围授予应用程序时,才会包含这些字段。
大约 2 个月前 google 关闭了 google+ api,如果您希望在获取令牌的位置添加代码,也许我们可以为您提供更多帮助。
推荐阅读
- android - 根据新arraylist的id更改旧arraylist中的数据
- javascript - fetch:与 json 解析一起检查返回值
- javascript - 有/没有大括号有什么区别?
- google-smart-home - 谷歌智能家居:异步填充 action.devices.commands.GetCameraStream
- javascript - Next js:next auth provider + redux provider
- python - PI 控制器线程和奇怪的问题
- javascript - 404 Not Found Next.js 在 React-Query 获取中出现错误
- java - 在 Java 中克隆对象时字符串会发生什么?
- regex - 仅当先前的组匹配将捕获设置为空时才捕获条件正则表达式?
- ember.js - 如何在默认情况下保持 ember bootstrap 手风琴展开?