成功登录后,我想获取用户的电子邮件地址。Google将会弃用Google Plus API。还有其他方法可以访问用户的电子邮件地址吗?使用以下代码,我将获得用户的访问令牌和id_token。
UserCredential credential =
GoogleWebAuthorizationBroker.AuthorizeAsync(
new ClientSecrets { ClientId = clientId, ClientSecret = clientSecret }
, scopes
, userName
, CancellationToken.None
, new FileDataStore(fileDataStorePath)).Result;
更新:以下代码有效。
var gmailService = new Google.Apis.Gmail.v1.GmailService(new BaseClientService.Initializer
{
HttpClientInitializer = credential,
ApplicationName = "App name"
});
var gmailProfile = gmailService.Users.GetProfile("me").Execute();
string EmailAddress = gmailProfile.EmailAddress;
确保已将“电子邮件”范围作为范围的一部分包括在内。
创建一个服务对象。
var service = new PeopleService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Peopleservice Oauth2 Authentication Sample"
});
然后向people api发出请求。
var results = service.People.Get("person/me").ExecuteAsync();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句