как получить информацию о пользователе после входа в систему Google oauth?

#asp.net #.net #vb.net #google-oauth #token

Вопрос:

проблема: результат var имеет access_token и идентификатор токена. как я могу использовать это для получения электронной почты пользователя

здесь я использую google oauth для перевода пользователя на веб-сайт Google для входа в свою учетную запись с помощью электронной почты и пароля

 Dim urlOAuth As String = "https://accounts.google.com/o/oauth2/auth"  Dim urlGetToken As String = "https://accounts.google.com/o/oauth2/token"  ' token url to get user information. need help to get user name or email here Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load  If String.IsNullOrEmpty(Request.QueryString("id")) = False Then  Dim geturlCode As String = Request.QueryString("code")   Dim WebRequest1 As HttpWebRequest = CType(WebRequest.Create(urlGetToken), HttpWebRequest)  Dim Parameter As String = "code=" amp; geturlCode amp; "amp;client_id="   clientID amp; "amp;client_secret="   clientSecret amp; "amp;redirect_uri="   redirecturi amp; "amp;grant_type=authorization_code"   'Dim byteArray As Byte() = Encoding.UTF8.GetBytes(Parameter)  WebRequest1.Method = "POST"  WebRequest1.ContentType = "application/x-www-form-urlencoded"  ' WebRequest1.ContentLength = byteArray.Length   Dim utfenc As UTF8Encoding = New UTF8Encoding()  Dim bytes As Byte() = utfenc.GetBytes(Parameter)  Dim os As Stream = Nothing  Try  WebRequest1.ContentLength = bytes.Length  os = WebRequest1.GetRequestStream()  os.Write(bytes, 0, bytes.Length)  Catch  End Try    Dim WebResponse As HttpWebResponse = CType(WebRequest1.GetResponse(), HttpWebResponse)  Dim responseStream As Stream = WebResponse.GetResponseStream()  Dim responseStreamReader As StreamReader = New StreamReader(responseStream)  ' access_token inside result  Dim result = responseStreamReader.ReadToEnd()  End If End Sub   'use oauth url so user can login in to there google account  Public Sub LoginGoogleB_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LoginGoogleB.Click  Dim Uri As String = urlOAuth amp;  "?approval_prompt=force" amp;  "amp;scope=openid email" amp;  "amp;response_type=code" amp;  "amp;access_type=offline" amp;  "amp;client_id=" amp; clientID amp;  "amp;redirect_uri=" amp; redirecturi   Response.Redirect(Uri)  End Sub  

Комментарии:

1. Я бы предположил, что пользователь уже предоставил всю эту информацию на странице регистрации, и она будет храниться в базе данных.

2. Когда пользователь входит в систему и отправляет данные по URL-адресу, как вы сказали «код», это очень важно. Затем вы будете использовать этот » код » для вызова api Google, который вернет нужные вам данные. Не уверен, какая конечная точка API будет такой, как если бы она не делала этого в течение длительного времени, но обычно что-то вроде «userInfo».

3. @Мэри, базы данных нет. пользователь входит в систему с помощью google oauth

4. @Alik, o я вижу, поэтому я изучу, как использовать URL-код для получения информации о пользователе

5. было бы очень полезно, если бы кто-нибудь мог предоставить мне ссылку на то, как использовать эту переменную » код » для получения информации о пользователе в vb.net