Удаленный сервер возвратил ошибку: (401) Несанкционированный - PullRequest
0 голосов
/ 10 декабря 2010

Я пытаюсь получить токен доступа из Windows Live Connect API с помощью этого кода

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

, но я получил следующую ошибку

Удаленный сервер возвратил ошибку: (401) Несанкционированный.

Ответы [ 2 ]

2 голосов
/ 18 декабря 2010

У меня была такая же проблема, и я исправил ее следующим образом. Удалите requestUrl ("https://consent.live.com/AccessToken.aspx") и последующие"? "Из ваших postData. Данные POST должны быть в формате x-www-form-urlencoded, который не включает URL-адрес запроса. Также HttpUtility.UrlEncode () все параметры .

2 голосов
/ 10 декабря 2010

Покажите нам тело ответа, обычно оно содержит больше информации.Вам также следует набрать код http://ewshops.com перед добавлением его в URI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...