WebUntisAPI возвращает «not Authenticated» после вызова метода в проекте WPF - PullRequest
0 голосов
/ 18 декабря 2018

Для краткости: следующий метод вызывает метод из WebUntisAPI (здесь мы ищем все комнаты):

(this.sessionID сохранил идентификатор сеанса, который я запрашивал в методе аутентификации ранее)

public void getRooms()
        {
            client.AddHandler(new JsonDeserializer(), "application/json-rpc");

            var request = new RestRequest(Method.POST);
            request.AddHeader("Content-type", "application/jason");

            request.AddJsonBody(new
            {
                id = this.sessionID,
                method = "getRooms",
                @params = new {},
                jsonrpc = "2.0"
            });

            var response = this.client.Execute(request);
            var deserialized = JsonConvert.DeserializeObject<GetRoomsResponse>(response.Content);

            try
            {
                foreach (GetRoomsResult i in deserialized.res)
                {
                    Console.WriteLine(i.name);
                }
            }catch(Exception e)
            {
                Console.WriteLine("Something wrong with deserialization!");
            }
        }

Проблема заключается в следующем:

{"jsonrpc":"2.0","id":"030BDA942554038735AE69C94D6B0491","error":{"message":"not authenticated","code":-8520}}

Но веселье еще не закончилось!Если я копирую созданное тело json и помещаю его в почтальон, с тем же ключом, который находится в переменной this.sessionID (конечно, также с тем же URL), он работает просто отлично.Если я сгенерирую sessionID вне программы и жестко закодирую его в переменной, он также не будет работать.

Кто-нибудь уже работал с WebUntisAPI и знает, почему это не работает?

Iдумаю, что это не имеет ничего общего с WebUntis, но с тем, как WPF работает после компиляции.Я действительно не знаю.

Спасибо за любые советы и помощь, Фабиан

edit: Документация WebUntisAPI Я получил / нашел, если вы хотите прочитать это самостоятельно

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