Помогите VK API и сообщения с LongPoll

Статус
Закрыто для дальнейших ответов.

LuckyZeeRo

Активный участник
Пользователь
Баллы
96
Имя в Minecraft
i0xHeX
Столкнулся с проблемами после перехода с неофф библиотеки для работы с сообщениями сообщества вк на офф (нужно было еще другие фичи юзать). Теперь не могу нормально настроить LongPoll для перехвата сообщения в группу.

Что я имел по началу (как было в туториалах вк и примерах кода):
Код:
TransportClient transportClient = HttpTransportClient.getInstance();
VkApiClient vk = new VkApiClient(transportClient);
GroupActor groupActor = new GroupActor(groupId, accessToken);

vk.groups().setLongPollSettings(groupActor)
        .enabled(true)
        .messageNew(true)
        .execute();

// Здесь MessageListener extends CallbackApiLongPoll
MessageListener listener = new MessageListener(vk, groupActor, processor);
listener.run();

При таком раскладе получаю:
Код:
Exception in thread "main" com.vk.api.sdk.exceptions.ApiAccessException: Access denied (15): Access denied: no access to call this method

    at com.vk.api.sdk.exceptions.ExceptionMapper.parseException(ExceptionMapper.java:37)
    at com.vk.api.sdk.client.ApiRequest.executeWithoutRetry(ApiRequest.java:92)
    at com.vk.api.sdk.client.ApiRequest.execute(ApiRequest.java:67)
    at Test.main(Test.java:27)
При этом хочу уточнить, что accessToken и groupId абсолютно верные и работало все на старой либе, так же я дополнительно включил в настройках группы LongPoll 5.50 и добавил разрешения на сообщения.

Теперь немного порылся на других источниках и немного поменял подход:
Код:
TransportClient transportClient = HttpTransportClient.getInstance();
VkApiClient vk = new VkApiClient(transportClient);
GroupActor groupActor = new GroupActor(groupId, accessToken);

GetLongPollServerResponse longPollServerResponse = vk.groups().getLongPollServer(groupActor).execute();
String key = longPollServerResponse.getKey();
String server = longPollServerResponse.getServer();
int ts = longPollServerResponse.getTs();
Опять та же ошибка на "execute()".

Два вопроса:
1. Как исправить эту ошибку, что я делаю не так?
2. Что делать дальше после этого кода (ведь первый способ я так понял не то), как прикрепить слушатель сообщений.
 
Прав недостаточно (их список задаётся когда access token получаешь). Читай доки на нужный тебе метод.
О GoodCoder Adora, спасибо! 😁
Даже не подумал было об этом, ибо изначально в правах добавил ток сообщения сообщества, а управление им не делал. При этом старая либа как то работала.

Проблема решена.
P.S. Рабочий код был в первом варианте.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх