Мне нужно получить json объект из API, изменить и опубликовать его, используя C# - PullRequest
0 голосов
/ 08 января 2020

Ниже мой код:

    static void Main(string[] args)
    {    
        SetBase();
        //Console.ReadLine();
    }

    public static async void SetBase()
    {
        var baseAddress = new Uri("https://google.com/");
        var httpClient = new HttpClient { BaseAddress = baseAddress };
        httpClient.DefaultRequestHeaders.TryAddWithoutValidation("accept", "application/json");
        var content = new StringContent("{ \"postUserLogin\":{ \"login\":\"username\", \"password\":\"password\", \"remember\":1,\"verify_level\":0 }}", System.Text.Encoding.Default, "application/json");
        try
        {
            var response = await httpClient.PostAsync("/account/login", content);

            using (var newresponse = await httpClient.GetAsync(viewURL + viewurlParameters))
            {
                if (newresponse.IsSuccessStatusCode)
                {                
                    string responseData = await newresponse.Content.ReadAsStringAsync();
                    JObject json = JObject.Parse(responseData);

                    //Get input from User
                    string input = Console.ReadLine();
                    //Make changes to json object according to input                
                    //And Post Json object
                }
            }
        }
        catch (Exception ex)
        {

        }
     }

Весь код после: var response = await httpClient.PostAsync("/account/login", content); не будет выполнен.

Но, если я раскомментирую строку Console.Readline() в Main остальные шаги выполняются. Пожалуйста, помогите!

1 Ответ

0 голосов
/ 08 января 2020

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

Делайте их по порядку:

  1. Вызовите API с учетными данными для входа, чтобы получить строку токена
  2. Хит API с вашим запросом данных и вашим токеном
  3. Выход из API, если его запрашивают, так как следующие шаги могут занять годы
  4. Взаимодействие с пользователем
  5. Добавить новые элементы в общем списке
  6. Если есть новые элементы, выполните шаг 1 еще раз
  7. Нажмите на конечную точку API с загрузкой данных и новым токеном.
...