2016-06-13 6 views
0

Ich versuche, das Access-Token für den Feed zu bekommen. Nachstehend ist ein Code, den ich verwendet, um das Access-Token zu bekommen.Get Access Token mit C#, Windows Phone 8.1

public async Task<string> GetAccessToken() 
     { 
      string postString = String.Format("username={0}&password={1}&grant_type=password", "userName", "pwd"); 

      string url = "http://example.net/Token"; 

      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url.ToString()); 
      request.Method = "POST"; 
      request.ContentType = "application/x-www-form-urlencoded"; 

      UTF8Encoding utfenc = new UTF8Encoding(); 
      byte[] bytes = utfenc.GetBytes(postString); 


      try 
      { 
       HttpWebResponse webResponse = (HttpWebResponse)(await request.GetResponseAsync()); 
       Stream responseStream = webResponse.GetResponseStream(); 
       StreamReader responseStreamReader = new StreamReader(responseStream); 
       string result = responseStreamReader.ReadToEnd();//parse token from result 
      } 
      catch(Exception ex) 
      { 
      } 
      return ""; 
     } 

Der Fehler unter

"An error occurred while sending the request. The text associated with this error code could not be found. 

The server name or address could not be resolved" 

werfen wird, während sie den Code unten führt

HttpWebResponse webResponse = (HttpWebResponse)(await request.GetResponseAsync()); 

mir bitte helfen, das Problem

+0

Es gibt kein Tag für Windows-Phone-10. Ich habe keinen Ruf, um ein neues Tag zu erstellen. – Anbarasi

+0

@HenkHolterman: Vielen Dank für die Antwort. Kannst du führen, welchen Fehler ich gemacht habe – Anbarasi

+0

Dieser synchrone Anruf in .CS Seite. – Anbarasi

Antwort

0

Versuchen Sie, diese zu lösen, wenn Sie POST verwenden Anfrage

public async Task<string> GetAccessToken() 
    { 
     string postString = String.Format("username={0}&password={1}&grant_type=password", "userName", "pwd"); 
     try 
     { 
      using (var httpClient = new HttpClient()) 
      { 
       var request1 = new HttpRequestMessage(HttpMethod.Post, "FeedURL"); 
       request1.Content = new StringContent(postString); 
       var response = await httpClient.SendAsync(request1); 
       var result1 = await response.Content.ReadAsStringAsync(); 
       result1 = Regex.Replace(result1, "<[^>]+>", string.Empty); 
       var rootObject1 = JObject.Parse(result1); 
       string accessToken = rootObject1["access_token"].ToString(); 
      } 

     } 
     catch (Exception ex) 
     { 

     } 
    }