Как решить "Удаленный сервер возвратил ошибку: (400) Bad Request."? - PullRequest
0 голосов
/ 19 февраля 2019

Я получаю ошибку ниже при получении токена доступа после Авторизации с помощью API OneDrive.enter image description here

Что я пробую:

protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["code"] != null)
        {
            //Response.Write(Request.QueryString["code"]);
            code = Request.QueryString["code"];

            string AccessTokenURL = "https://login.live.com/oauth20_token.srf";
            //var request = new RestRequest(Method.POST);
            //request.AddHeader("Content-type", "application/x-www-form-urlencoded");
            string requestBody = "client_id =" + ClientId + "&redirect_uri = " + CallbackUri + "&client_secret = " + Secret + "&code = " + code + "&grant_type=authorization_code";
            try
            {
                using (var wb = new WebClient())
                {
                    var data = new NameValueCollection();

                    data["client_id"] = ClientId.Trim();
                    data["redirect_uri"] = CallbackUri.Trim();
                    data["client_secret"] = Secret.Trim();
                    data["code"] = code.Trim();
                    data["grant_type"] = "authorization_code";
                    data["Content-type"] = "application/x-www-form-urlencoded";

                    var response = wb.UploadValues(AccessTokenURL,"POST", data);

                    var test = Encoding.UTF8.GetString(response);
                    string AccessToken = Convert.ToString(JObject.Parse(Encoding.UTF8.GetString(response))["access_token"]);
                }
            }
            catch(Exception ex)
            {
                throw ex;
            }

            //Response.Redirect();
        }

У меня есть некоторые ссылки в Интернете, но они не относятся к этой проблеме. Если у вас естьлюбое решение или ссылку, пожалуйста, не стесняйтесь поделиться.

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