Пишу бота для Одноклассников на C#, использую long polling подход. Метод подписки возвращает
{"success":true}
. После чего сразу вызываю метод получения обновлений, предварительно написав в группу. О том, как я выполняю подписку можно почитать в ответе на мой предыдущий
вопрос.
Сами обновления получаю следующим образом:
var @params = new
{
//marker = "",
types = new[] { "MESSAGE_CREATED", "MESSAGE_CALLBACK", "CHAT_SYSTEM" },
//count = 50,
//timeout = 15,
commit = false,
};
string baseUrl = "https://api.ok.ru/graph";
string url = baseUrl + "/me/updates?access_token=" + token;
using HttpClient httpClient = new();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, url);
request.Content = new StringContent(JsonConvert.SerializeObject(@params));
//Encoding.UTF8,
//"application/json");
var response = await httpClient.SendAsync(request)
.ContinueWith(responseTask => responseTask.Result.EnsureSuccessStatusCode());
string contentJson = await response.Content.ReadAsStringAsync();
Из статьи в
документации не вполне понятно, какие аргументы нужно передавать, так что основывался на
статье про подписку. В результате я получаю:
{"updates":[],"marker":"603980ff4d9a8"}
Поскольку приходит пустой массив, а не сообщение об ошибке, я делаю вывод, что адрес и параметры верные (хотя, если не передавать вообще никаких параметров, ответ будет тем же). Может я пропустил какие-то настройки (у ВК было такое, что нужно включить long polling в настройках группы, но тут я ничего похожего не нашёл) или ещё что-то. Подскажите, если кто знает, заранее спасибо!