2017-02-13 110 views
1

我试图为我的xamarin应用程序实现Twitter身份验证。我在开发者控制台检查了来自用户的请求电子邮件地址选项,但我无法获取用户信息中的电子邮件。我是否做错了如何使用Xamarin.Auth库获取Twitter用户电子邮件

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 
       { 

       } 

      }; 

回答

0

Twitter API要求我们指出我们是否希望在回复中发送用户电子邮件。

根据Twitter文档,可以发送include_email为真。

完整文档:https://dev.twitter.com/rest/reference/get/account/verify_credentials

+0

谢谢。显然你必须将它们作为参数添加......作为休闲。 Dictionary param = new Dictionary (); param.Add(“include_email”,“true”); \t \t \t \t \t变种请求=新OAuth1Request( “GET”,newUri( “https://api.twitter.com/1.1/account/verify_credentials.json”), \t PARAM, \t ee.Account); 。 \t request.GetResponseAsync()ContinueWith(T => \t { \t \t变种解析度= t.Result; \t \t变种resString = res.GetResponseText(); \t}); –

+0

对不起,我不清楚,但是,这的确是我的意思。您需要将此字段作为请求的参数发送。 – apineda

相关问题