如何使用Google.Apis.Auth.OAuth2.Flows.GoogleAuthorizationCodeFlow从oAuth 2.0获取电子邮件ID?

时间:2014-06-25 12:23:05

标签: asp.net-mvc-4 oauth-2.0 google-plus

我的问题基本上是如何使用Google.Apis.Auth.OAuth2.Flows.GoogleAuthorizationCodeFlow从oAuth 2.0获取电子邮件ID?

我正在使用带有GoogleAuthorizationCodeFlow的MVC 4应用程序来实现oAuth 2.0。 页面进入谷歌后,用户输入电子邮件ID和密码。

我如何从API获取电子邮件ID?

3 个答案:

答案 0 :(得分:0)

有许多oauth范围可以为您提供电子邮件 在oauth2游乐场中搜索它们。最新的一个是google +范围用于“使用g +登录”,谷歌建议使用该范围而不是旧版本。

答案 1 :(得分:0)

我认为您的答案可以在这里找到。链接到该页面位于本文的底部。

"第一步是根据已知的用户ID调用#loadCredential(String),以检查最终用户的凭据是否已知。如果没有,请调用newAuthorizationUrl()并将最终用户的浏览器定向到授权页面。然后,Web浏览器将使用"代码"重定向到重定向URL。查询参数,然后可以使用newTokenRequest(String)来请求访问令牌。最后,使用#createAndStoreCredential(TokenResponse,String)来存储和获取用于访问受保护资源的凭证。"

http://javadoc.google-api-java-client.googlecode.com/hg-history/0dd03fb10eb0ec8e66259d5a19e712bb274b68bc/1.10.0-beta/jdiff/Google%20API%20Client%20Library%20for%20Java%201.9.0-beta/com/google/api/client/googleapis/auth/oauth2/GoogleAuthorizationCodeFlow.html

答案 2 :(得分:0)

在googleapi授权后。您将获得acees_token,refresh_token等以及id_token。 id_token是包含电子邮件字段的字符串。但它是base64编码格式。所以你必须使用base64_decode解码id_token字符串。 id_token是附加于'。'。第二个字符串包含电子邮件的肉类数据,cilent id等。