Require Google to return email address as part of OAuth

后端 未结 7 715
情歌与酒
情歌与酒 2020-12-23 10:23

I am using OAuth to access Gmail with dotNetOAuth. How can I force Google to return user\'s email address as part of callback after authorization?

By default, Google

7条回答
  •  误落风尘
    2020-12-23 10:48

    request OAuth scope to include the "Email Display Scope" https://www.googleapis.com/auth/userinfo.email

    scope="http://www.google.com/m8/feeds/ https://www.googleapis.com/auth/userinfo.email"
    

    Then use REST API like Hammock to get address

                RestClient client = new RestClient
                {
                    Authority = "https://www.googleapis.com",
                };
    
                RestRequest request = new RestRequest
                {
                    Path = "userinfo/email?alt=json",
                    Credentials = OAuthCredentials.ForProtectedResource(
                         this.requestSettings.ConsumerKey,
                         this.requestSettings.ConsumerSecret,
                         this.requestSettings.Token,
                         this.requestSettings.TokenSecret)
                };
    
                var response = client.Request(request);
    

提交回复
热议问题