Ошибка с Google Api, чтобы получить адрес электронной почты пользователя - PullRequest
0 голосов
/ 07 ноября 2019

Я использую Google_Service_Gmail () для получения информации о пользователях. но возникает проблема "Неустранимая ошибка PHP: невозможно вызвать конструктор в строке 84 в '... / service / Gmail.php'"

, вот кодовое изображение

$obj = new GoogleOAuth();
$obj->access_token =$access;
$obj->refresh_token = $refresh;//$data['refresh_token'];
$obj->token_type = $tokentype;
$obj->expires_in = 3600;

$arr = array();
$client = new Google_Client($arr);

$client->setApplicationName('Get Email');
$client->setClientId('[CLIENT-ID]');
$client->setClientSecret('[CLIENT-SECRET]');
$client->setRedirectUri('[REDIRECT-URI]');

$client->setScopes(Google_Service_Gmail::GMAIL_READONLY);

$client->setAccessType('offline');

$authUrl = $client->createAuthUrl();

$token = json_encode($obj);

if (!$client->getAccessToken()) {
    $client->setAccessToken($token);
}

$gmail = new Google_Service_Gmail($client);
return $gmail->getEmailAddress();

код Gmail.php в файлах lib:

вот код файла в клиентской библиотеке google api php

1 Ответ

0 голосов
/ 07 ноября 2019

Я предлагаю вам запустить код с помощью быстрого запуска Gmail [1], чтобы вы могли успешно извлечь службу Gmail, с помощью этого объекта вы можете получить доступ к свойству «user», которое является «Users_Resource» [2], примените getProfileметод получения «Gmail_Profile» [3], откуда вы можете получить адрес электронной почты:

 $user = $gmail->user;
 $email = $user->getProfile("me")->getEmailAddress( );

[1] https://developers.google.com/gmail/api/quickstart/php

[2] https://developers.google.com/resources/api-libraries/documentation/gmail/v1/php/latest/class-Google_Service_Gmail_Users_Resource.html

[3] https://developers.google.com/resources/api-libraries/documentation/gmail/v1/php/latest/class-Google_Service_Gmail_Profile.html

...