2010-12-10 25 views
0

Ich versuche, die Zugriffstoken aus den Fenstern zu bekommen api leben verbinden, indem Sie diesen Code verwendenDer Remote-Server hat einen Fehler zurückgegeben: (401) Unauthorized

String requestUrl = „https://consent.live.com /AccessToken.aspx ";

 // Request the access token. 
     string postData = string.Format("{0}?wrap_client_id={1}&wrap_client_secret={2}&wrap_callback={3}&wrap_verification_code={4}&idtype={5}", 
       requestUrl, 
       "000000004C039809", 
       "l4VJekL1vFL1iFVmcP5qLkWv9ukY4mdl", 
       "http://ewshops.com", 
       "dac5d71d-d640-30d1-ebed-3576b132b3ec", 
       "cid"); 
     byte[] postDataEncoded = System.Text.Encoding.UTF8.GetBytes(postData); 

     WebRequest req = HttpWebRequest.Create(requestUrl); 
     req.Method = "POST"; 
     // req. 
     req.ContentType = "application/x-www-form-urlencoded"; 
     req.ContentLength = postDataEncoded.Length; 


     Stream requestStream = req.GetRequestStream(); 
     requestStream.Write(postDataEncoded, 0, postDataEncoded.Length); 

     WebResponse res = req.GetResponse(); 

     string responseBody = null; 

     using (StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8)) 
     { 
      responseBody = sr.ReadToEnd(); 
     } 

     // Process FORM POST. 
     NameValueCollection responseCollection = System.Web.HttpUtility.ParseQueryString(responseBody); 

     return responseCollection["wrap_access_token"]; 

aber ich habe die folgenden Fehler

Der Remote-Server hat einen Fehler zurückgegeben empfangen: Unauthorized (401).

+4

Darf ich vorschlagen, dass Sie die Formatierung der Codeblöcke in dieser Frage ein wenig aufräumen (z. B. alle unnötigen Leerzeilen entfernen), damit sie lesbarer wird? Siehe die [Hilfe zur Formatierung] (http://stackoverflow.com/editing-help) – stakx

+1

Ich habe den Post neu formatiert danke – Hadad

Antwort

2

Zeigen Sie uns den Antworttext, er enthält normalerweise weitere Informationen. Sie sollten auch den Code http://ewshops.com eingeben, bevor Sie ihn zur uri hinzufügen.

+0

Eine Ausnahme wurde zurückgegeben, wenn versucht wurde, eine Antwort zu erhalten, und dies ist der Stapel-Trace: – Hadad

2

Ich hatte das gleiche Problem und behob es wie folgt. Entfernen Sie das requestUrl ("https://consent.live.com/AccessToken.aspx") und das nachfolgende "?" von Ihren Postdaten. Die POST-Daten sollten im x-www-form-urlencoded-Format vorliegen und die Anfrage-URL nicht enthalten. Auch HttpUtility.UrlEncode() alle Parameter.

Verwandte Themen