Java API Last.fm - получить всех участников из группы

Я работаю с Java API lastfm.

Я хочу извлечь всех пользователей из группы, скажем, из Бельгии. Как создать новую группу и извлечь ее участников?

Group mygroup = new Group();
PaginatedResult<de.umass.lastfm.User> users = mygroup.getMembers("Belgium", key);)

Выдает ошибку в первой строке:

group() has private access.

Это немного странно. Как мне вызвать конструктор и не нужно ли передавать имя группы во время построения?

Спасибо за любые идеи!


person dorien    schedule 24.03.2014    source источник


Ответы (1)


Вы правы, что у группы есть частный конструктор, и вы не можете его использовать.

Глядя на исходный код вызываемый метод

 public static PaginatedResult<User> getMembers(String group, int page, String apiKey)

в de.umass.lastfm.Group позволяет вам получить всех пользователей, и он является статическим, поэтому вы можете получить к нему доступ без предварительного создания объекта группы.

Сделайте что-нибудь вроде

PaginatedResult<de.umass.lastfm.User> users = Group.getMembers("Belgium", key);
person thordy    schedule 24.03.2014
comment
Спасибо! Это работает. Просто небольшой побочный вопрос. Как правильно просмотреть все результаты PaginatedResult? Цикл for each не дает мне всех результатов: PaginatedResult‹de.umass.lastfm.User› users = Group.getMembers(Classic Rock, key); for (User thisuser: users){ System.out.print(thisuser.getName() + - age: + thisuser.getAge() + - country: + thisuser.getCountry(). + - + thisuser.getGender() + - is: + thisuser.getId() + - playcount: + thisuser.getPlaycount() + - num playlists: + thisuser.getNumPlaylists() + \n); } - person dorien; 24.03.2014
comment
Что вы имеете в виду, что вы не получаете все результаты? Что вы ожидаете получить? Попробуйте использовать итератор вместо PaginatedResult и посмотрите, сработает ли это. - person thordy; 24.03.2014
comment
Спасибо, я попробую это. Я думаю, что я получаю только первую страницу сейчас. - person dorien; 24.03.2014
comment
@thordy, я знаю, что вы догадывались, но для справки: API работает иначе. Результат с разбивкой на страницы — это одна страница в результате, поэтому его итератор перебирает результаты на странице. Странный дизайн API. - person bzlm; 24.03.2014