首页 > 解决方案 > 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/ 我得到名字、图片、...但数组中没有电子邮件

标签: phplaravel

解决方案


简单的答案来自文档:

仅当用户已将“电子邮件”OAuth 范围授予应用程序时,才会包含这些字段。

大约 2 个月前 google 关闭了 google+ api,如果您希望在获取令牌的位置添加代码,也许我们可以为您提供更多帮助。


推荐阅读