Ошибка при вызове функции API users / get_current_account: неожиданные параметры URL: access_token в Dropbox API

MainViewModel:

 public async Task<string> Httpclient(string link,string oauthToken)
        {    

            HttpClient client = new HttpClient();
            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", oauthToken);

            HttpResponseMessage response = await client.PostAsync(link,new StringContent(""));
            response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            return await response.Content.ReadAsStringAsync();
        }

Get_account_ViewModel:

public class Get_Current_Account_ViewModel
    {
        MainViewModel mainViewModel = new MainViewModel();
        public async Task<Model.Get_Current_Account.RootObject> get_current_account(string _accessToken)
        {
            var query = await mainViewModel.Httpclient("https://api.dropboxapi.com/2/users/get_current_account?access_token=_accessToken",_accessToken);
            if (query != null)
            {
                var get_data = JsonConvert.DeserializeObject<Model.Get_Current_Account.RootObject>(query);
                return get_data;
            }
            else
                return null;
        }

Пробовал двумя способами:

  • первый способ: у меня проблема

Ошибка при вызове функции API "users / get_current_account": неожиданные параметры URL: "access_token" в Dropbox API

at

var query = await mainViewModel.Httpclient ("https://api.dropboxapi.com/2/users/get_current_account?access_token=_accessToken ", _accessToken);

  • второй способ: Ошибка при вызове функции API «users / get_current_account»: неверный HTTP-заголовок «Content-Type»: «text / plain; charset = utf-8». Ожидается одно из «application / json», «application / json; charset = utf-8», «text / plain; charset = dropbox-cors-hack». при удалении ? Access_token = _accessToken < / strong> в запросе var.

Прошу всех решить эту проблему. Я не могу это исправить. Благодарю.


person sogo sogoku123456    schedule 14.02.2016    source источник
comment
Перекрестные ссылки с форумом Dropbox API: dropboxforum.com/hc/en-us/community/posts/.   -  person user94559    schedule 15.02.2016


Ответы (1)


Вы были правы, избавившись от параметра access_token, поскольку, как говорится в ошибке, это недопустимый параметр.

Следующая ошибка указывает на то, что вы отправляете неправильный заголовок Content-Type, поэтому попробуйте отправить правильный. Например.

HttpResponseMessage response = await client.PostAsync(
    link, new StringContent("", System.Text.Encoding.UTF8, "application/json"));

(Этот код не тестировался, просто прочитал документы на StringContent.)

person user94559    schedule 14.02.2016
comment
Ошибка при вызове функции API \ users / get_current_account \: тело запроса: не удалось декодировать ввод как JSON - person sogo sogoku123456; 15.02.2016
comment
Возможно, попробуйте передать "null", что является допустимым JSON. - person user94559; 15.02.2016
comment
Вы пытались передать "null", как я предлагал? Хотя, честно говоря, я считаю, что пустое тело вполне подойдет. Может, вы поделитесь своим текущим кодом. - person user94559; 16.02.2016
comment
этот код актуален. ваш средний ответ HttpResponseMessage = ожидание client.PostAsync (ссылка, новый StringContent (NULL, System.Text.Encoding.UTF8, application / json)); - person sogo sogoku123456; 16.02.2016
comment
Я НЕ ПОНИМАЮ ВАШ РАЗУМ. - person sogo sogoku123456; 16.02.2016