2016-06-13 16 views
0

我想獲取feed.Below的訪問令牌,我用來獲取訪問令牌。獲取訪問令牌使用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 ""; 
     } 

下面

"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" 

錯誤被拋出,而它執行下面的代碼

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

請幫我解決這個問題

+0

Windows-phone-10沒有標籤。我沒有建立新標籤的聲望。 – Anbarasi

+0

@HenkHolterman:謝謝你的回覆。你能指導我做了什麼錯誤嗎? – Anbarasi

+0

這個同步呼叫在.CS端。 – Anbarasi

回答

0

試試這個,如果你正在使用POST要求

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) 
     { 

     } 
    }