【问题标题】:How to get email address of a user using Google Oauth .NET library如何使用 Google Oauth .NET 库获取用户的电子邮件地址
【发布时间】:2021-06-02 06:37:30
【问题描述】:

我想在成功登录后获取用户的电子邮件地址。 Google Plus API 将由 Google 折旧。还有其他方法可以访问用户的电子邮件地址吗?使用下面的代码,我将获得用户的访问令牌和 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;

【问题讨论】:

    标签: c# asp.net-mvc oauth-2.0 google-oauth google-api-dotnet-client


    【解决方案1】:

    确保您已将“电子邮件”范围作为范围的一部分。

    创建一个服务对象。

    var service = new PeopleService(new BaseClientService.Initializer()
       {
        HttpClientInitializer = credential,
        ApplicationName = "Peopleservice Oauth2 Authentication Sample"
        });
    

    然后向 people api 发出请求。

    var results = service.People.Get("person/me").ExecuteAsync();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-08
      • 2019-12-22
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      相关资源
      最近更新 更多