获取客户端PHP的Email-Id

时间:2017-10-27 17:43:30

标签: php gmail google-oauth google-api-php-client google-api-client

我希望所以我按照下页的说明进行了说明 https://developers.google.com/api-client-library/php/auth/web-app

但是,如何获取当前登录用户的电子邮件ID并不是很清楚。我设置的当前范围是用于阅读此人的个人资料,他的电子邮件ID和gmail.readonly(阅读所有电子邮件)。
我的问题是,我说有访问令牌,并且我通过设置访问令牌初始化了Google_Client对象,如何获取当前登录用户的电子邮件?

1 个答案:

答案 0 :(得分:0)

嘿,看起来我只需要找到合适的Google服务。通过阅读文档得到了这一点 https://developers.google.com/resources/api-libraries/documentation/gmail/v1/php/latest/class-Google_Service_Gmail.html
现在的代码是:

$gmail = new Google_Service_Gmail($client);
if($client->getAccessCode()) {
    $token_data = $client->verifyAccessToken();
    $email = $token_data['email'];
}

另外,由于某种原因,带有$ token_data的行似乎不起作用,所以我最终使用REST API来验证访问令牌。只需用

替换该行
$token_data = json_decode(file_get_contents('https://www.googleapis.com/oauth2/v1/tokeninfo?access_token='.urlencode($client->getAccessToken()["access_token"])), true);