Пытаюсь выполнить Long-Polling подписку в Одноклассниках. Группу создал, токен получил. В принципе всё делаю, как написано
Здесь, но в ответ получаю такое сообщение:
{
"error_code":2001,
"error_msg":"GRAPH_PARAM_REQUEST : Wrong JSON format.",
"error_data":null
}
В документации у них сказано:
Внимание! POST-запросы должны выполняться с заголовком Content-Type: application/json;charset=utf-8
я передаю, правда у меня на дебаге заголовки выглядят как Content-Type: application/json; charset=utf-8 то есть с пробелом, но это, думаю, не должно влиять.
Код отправки запроса:
string baseUrl = "https://api.ok.ru/graph";
string url = baseUrl + "/me/subscribe?access_token=" + token;
using HttpClient httpClient = new();
var args = new
{
filter = "",
types = new[] { "MESSAGE_CREATED", "MESSAGE_CALLBACK", "CHAT_SYSTEM" },
longPolling = true,
time = DateTimeOffset.Now.ToUnixTimeSeconds(),
url = Array.Empty<string>(),
};
string argsJson = JsonConvert.SerializeObject(args);
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, url);
request.Content = new StringContent(argsJson, Encoding.UTF8, "application/json");
var response = await httpClient.SendAsync(request)
.ContinueWith(responseTask => responseTask.Result.EnsureSuccessStatusCode());
string contentJson = await response.Content.ReadAsStringAsync();
С аргументами игрался по-всякому, это ничего не меняет. Заголовки тоже по-разному пытался добавлять, уже не знаю, в чём дело.
Может, что не так делаю или упускаю чего?
P.S.: Или может, кто знает готовую библиотеку на C#?