Вопрос по google-api, youtube-api – Как получить идентификатор пользователя после входа в систему с помощью Google OAUT [дубликат]

4

This question already has an answer here:

How to identify a Google OAuth2 user? 6 answers

Я использую Google oAuth для получения информации о пользователе через YoutubeAPI, но я не знаю, что мне нужно делать после полученияaccess_token чтобы получить userID, кто-нибудь, пожалуйста, помогите мне.

Это ссылка для перенаправления после входа в систему с oauthhttp://localhost:8888/mbproject/user/oauth2callback?code=4/NWpMSgUcu9rXTlmWzZc0Zwj_BWYu.kotuJPCNkBYQgrKXntQAax186_w0dAI Он не содержит user_id в параметре GET, просто содержитcode Huy Tran
Спасибо balanv, он дает в электронной почте пользователя в результате проверки подлинности Hardik Darji
Пожалуйста, попробуйте распечатать ответ от oauth, как только авторизация будет завершена ... это даст вам представление о том, откуда взять идентификатор пользователя. Он должен быть либо внутри & quot; user_id & quot; пометить в ответе или внутри "raw" тег. balanv
Я на самом деле использую рельсы .. и я вижу результат дампа вrequest.env["omniauth.auth"] попробуйте это в коде вашего сервера ... на самом деле, какой у вас сценарий бэкэнд-сервера? balanv

Ваш Ответ

3   ответа
1

Если вы спрашиваете, как получить имя пользователя YouTube или идентификатор пользователя YouTube для аутентифицированного пользователя, это можно найти в ответе надолжным образом заверенный запросить

http://gdata.youtube.com/feeds/api/users/default?v=2

5

См. GoogleOAuth2 документация о том, как получить информацию о зарегистрированном пользователе.

Это в основном просто вызов GEThttps://www.googleapis.com/oauth2/v1/userinfo с правильным токеном доступа. В ответе включен идентификатор пользователя.

Обратите внимание, что вам также необходимо включить правильную область действия при первом перенаправлении в Google:

https://www.googleapis.com/auth/userinfo.profile
1

Вы можете сделать одно из следующего:

perform a GET on www.googleapis.com/oauth2/v1/userinfo decode the id_token that you get in the initial request, using a JWT library

Я рекомендую последний вариант, так как он более надежный и не требует дополнительного вызова.

Смотрите эту тему для получения дополнительной информации:Как определить пользователя Google OAuth2?

Похожие вопросы