vksdk / vk-sdk-kotlin

Unofficial VK SDK, written in Kotlin: make bots, use the API
https://vksdk.github.io/vk-sdk-kotlin
MIT License
70 stars 16 forks source link

Не работает java пример из readme.md, client.startLongPolling() выдает ошибку. #17

Closed Egorrko closed 4 years ago

Egorrko commented 4 years ago

при выполнении client.startLongPolling() он перехватывает ошибку BotsLongPollApi::exceptionHandler::error = com.petersamokhin.vksdk.core.error.VkResponseException: BotsLongPollApi initiation error: bad VK response: Error occurred during the VK response В настройках группы Long Poll API включен, версия стоит 5.103, в коде версию не указывал. Пробовал менять и в коде new VkSettings(vkHttpClient, 5.107) и в группе на 5.107, 5.50. Как можно узнать что конкретно за ошибку возвращает вк? Может я что-то делаю не так?

petersamokhin commented 4 years ago

Привет. Узнать точнее, что за ошибку возвращает VK можно, например, включив логгинг у HttpClient-a. Покажи свой код, где ты инициализируешь HttpClient и VkApiClient, я попробую подсказать.

Egorrko commented 4 years ago

https://pastebin.com/fn05uV4Z Это весь код, что у меня есть. Токен скинул в личку группы вк.

petersamokhin commented 4 years ago

Токен скинул в личку группы вк.

Зря, он не нужен.

Вижу, используется OkHttp. Тогда можно взять это: https://github.com/square/okhttp/tree/master/okhttp-logging-interceptor

И сделать как-то так:

HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(Level.BODY);

OkHttpClient okHttpClient = new OkHttpClient.Builder()
  .addInterceptor(logging)
  .build();

И потом уже в твоем коде:

HttpClient vkHttpClient = new VkOkHttpClient(okHttpClient);

Так в логах ты увидишь ответ от сервера VK и поймешь, в чем проблема.