2015-02-21 4 views
0

Я запускаю php google drive api, и я могу проверить подлинность пользователя просто отлично, но я хочу сохранить его userId и их адрес электронной почты в моей базе данных. permissionid легко доступен сAPI Google Drive получить аутентифицированный адрес электронной почты

$service = new Google_Service_Drive($client); 
... 
$permissionID = $service->about->get()->getpermissionId(); 

но нет ничего подобного getEmailAddress() Есть ли у Google Диска возврата на адрес электронной почты или мне нужно, чтобы расширить сферу охвата и доступ к ней в другом месте?

В настоящее время моя сфера является https://www.googleapis.com/auth/drive

EDIT

только удалось сделать это, делая запрос GET с

https://www.googleapis.com/oauth2/v1/userinfo?access_token= 

для людей, которые использовали этот апи раньше, это лучше для хранения PermissionId или идентификатора, возвращаемого запросом на получение? Я не знаю, что разница между этими двумя

+1

В ресурсе About есть пользователь obect, который содержит значения для "permissionId", а также "emailAddress". Вы можете проверить свой ресурс по этой ссылке: https://developers.google.com/drive/v2/reference/about#resource Надеюсь, что это поможет! – KRR

+0

как вы используете 'get()' для получения адреса электронной почты? потому что не существует '$ service-> user-> get() -> getId()' или '$ service-> about-> user-> get() -> getId()' – CrudeCoder

+0

, который никогда не получил просто хаха. 'print_r ($ service-> about-> get() -> getUser())' получает ответ – CrudeCoder

ответ

0
$service->about->get()->getUser()->getemailAddress(); 

Это даст вам адрес электронной почты пользователя, проверку подлинности с вашим приложением.

Как указано в KRR, посетите Google's Drive Api Reference Page для получения дополнительных функций. Обычно, если вы хотите получить значение свойства, оно находится в форме get($propertyname)()

+0

Привет, это для API v2. Как это сделать в API v3? – Vishnu

Смежные вопросы