Как определить, за какой вариант опроса проголосовал каждый пользователь?
Существует открытый для всеобщего обозрения пост с опросом. Мне необходимо получить список пользователей, проголосовавших за каждый ответ. Данная информация открыта и доступна для просмотра с клиента. Я ожидал, что существует поле с ID пользователей, или метод, который позволяет их получить, однако в документации ничего подобного не нашел.
Ответы (1 шт):
На самом деле такая возможность есть, вот пример кода, который получает списки id всех пользователей, проголосовавших за каждый ответ.
UserActor userActor = new UserActor(123, "token");
int pollId = 1234;
GetByIdResponse poolInfoResponse = vkApiClient.polls()
.getById(userActor, pollId)
.execute();
List<GetVotersResponse> votersResponses = vkApiClient.polls()
.getVoters(userActor, pollId, poolInfoResponse.getAnswerIds())
.execute();
for (GetVotersResponse votersRespons : votersResponses) {
System.out.printf("%s voted for: %d%n", votersRespons.getUsers().getItems(), votersRespons.getAnswerId());
}
Более подробно можно посмотреть в исходниках SDK: https://github.com/VKCOM/vk-java-sdk/blob/564a64e1c95ae44ce2df9a2c3db6c838970bbc33/sdk/src/main/java/com/vk/api/sdk/queries/polls/PollsGetVotersQuery.java