Search code examples
emailtwitterxamarinoauthtwitter-oauth

How to get Twitter User Email using Xamarin.Auth library


I m trying to implement twitter authentication for my xamarin app. I checked Request email addresses from users option on developer console but i am not able to get email in user information. Am i doing something wrong

var Twitterauth = new OAuth1Authenticator(

consumerKey: "XXXX",
consumerSecret: "XXX",
requestTokenUrl:new Uri("https://api.twitter.com/oauth/request_token"),
authorizeUrl:    new Uri("https://api.twitter.com/oauth/authorize"),
accessTokenUrl:  new Uri("https://api.twitter.com/oauth/access_token"),
callbackUrl:     new Uri("http://www.isportfoy.com.tr/tr/anasayfa") 

);

Twitterauth.Completed += (s, ee) =>

{
   if (ee.IsAuthenticated)
        {

           var request = new OAuth1Request(
                        "GET",
                         new Uri("https://api.twitter.com/1.1/account/verify_credentials.json"),
                        null,
                        ee.Account);

                    request.GetResponseAsync().ContinueWith(t =>
                    {
                        var res = t.Result;
                        var resString = res.GetResponseText();
                        Console.WriteLine("Result Text: " + resString);
                    });
}
                else 
                {

                }

            };

Solution

  • Twitter API requires us to indicate if we want to the user email in the response.

    Based on the Twitter Documentation this can be done sending the include_email as true.

    Full documentation: https://dev.twitter.com/rest/reference/get/account/verify_credentials