API Last.fm возвращает одинаковое изображение белой звезды для всех исполнителей

Недавно у меня возникла проблема с API Last.fm, у меня есть полностью функциональный код, который работал 2/3 дня назад, но сегодня каждая попытка получить фотографии исполнителей из API возвращает массив с одинаковым URL-адресом для всех размеров изображений для всех исполнителей. Изображение белой звезды на сером фоне. Я попытался создать другую учетную запись с новым ключом API, чтобы проверить, не было ли это проблемой с моим ключом, когда прошло несколько месяцев с тех пор, как я в последний раз обновлял код, связанный с API, но безуспешно.

Вот код

    private static final String BASE_URL = "http://ws.audioscrobbler.com/2.0/";
private static final String API_KEY = "123456789";

@Nullable
public static String fetchJson(String url) {


    HttpURLConnection urlConnection = null;
    StringBuilder mStringBuilder = new StringBuilder();

    try {
        urlConnection = (HttpURLConnection) new URL(url).openConnection();

        InputStream mInputStream = new BufferedInputStream(urlConnection.getInputStream());
        BufferedReader mReader = new BufferedReader(new InputStreamReader(mInputStream));

        String line;
        while ((line = mReader.readLine()) != null) {
            mStringBuilder.append(line);
        }

        return mStringBuilder.toString();

    } catch (Exception e) {

        e.printStackTrace();
        return null;

    } finally {
        if (urlConnection != null) urlConnection.disconnect();
    }
}



public static String createArtistURL(String artistName) {
    artistName = artistName.replace("&", "%26");
    // TODO: 03/05/2019  testar isso  URLEncoder.encode(artistName,UTF?); 
    return BASE_URL.concat("?method=artist.getinfo")
            .concat("&artist=").concat(artistName)
            .concat("&lang=").concat(Locale.getDefault().getLanguage())
            .concat("&api_key=").concat(API_KEY)
            .concat("&format=json");
      }

person Gilian Marques    schedule 03.05.2019    source источник
comment
То же самое, не знаю, что происходит   -  person Alex    schedule 04.05.2019
comment
Связанные: getsatisfaction.com/lastfm/topics/ и getsatisfaction.com/lastfm/topics/new-api-problems-urgent   -  person Morrison Chang    schedule 04.05.2019
comment
Это смешно, похоже, что в ближайшее время они не добавят функциональность   -  person Adam    schedule 27.05.2019
comment
@ Адам Я перешел на Spotify API, Last.fm для меня мертв   -  person Gilian Marques    schedule 29.05.2019
comment
@GilianMarques это может быть неплохой идеей   -  person Adam    schedule 29.05.2019


Ответы (2)


Я не могу предложить ничего, кроме бесполезного «я тоже». Будем надеяться, что это просто ошибка, а не предвестник какого-то катастрофического заявления от LFM...

person user3067533    schedule 04.05.2019
comment
Добавьте комментарий к вопросу, а не ответ. - person COYG; 04.05.2019
comment
Танк тебе за то, что поделись с нами. Похоже, нам придется найти другой источник метаданных, так как последнее обновление API last.fm блокирует загрузку изображений. танки к @MorrisonChang, чтобы указать на объявление API. Поскольку ясно, что речь идет не об ошибке в моем коде или даже в коде API, и все эти проблемы связаны с изменениями API, я задаю свой вопрос как ответ - person Gilian Marques; 04.05.2019
comment
Это настоящий позор. Их API было очень приятно использовать (не могу сказать, что очень часто). Вся сигнатура метода была немного небрежной, но кроме этого, это был мой любимый интерфейс в блоке. Без изображений художников это просто кажется неполным. - person user3067533; 08.05.2019

К сожалению, это намеренное изменение со стороны Last.fm:

Мы внесли изменения в наш API, чтобы ограничить злоупотребления и улучшить сервис для всех в соответствии с нашими Условиями использования API.

Хотя мы позволяем пользователям API иметь доступ к большому количеству данных через API, использование третьими лицами аудио, аудиовизуальных материалов, изображений или иллюстраций всегда противоречило нашим Условиям использования API. В некоторых случаях некоторые данные могли быть косвенно доступны через небольшое количество вызовов API, поэтому в рамках недавней очистки API мы исправили эту аномалию.

Если ваше приложение затронуто, ознакомьтесь с нашими Условиями использования API, чтобы убедиться в их соблюдении.

Альтернативный API для изображений артистов — от MusicBrainz. Если вы имеете дело с данными Last.fm, возможно, у вас уже есть MBID исполнителя, который вы запрашиваете следующим образом (пример JavaScript):

person Hugo    schedule 30.12.2019
comment
Хьюго, в вашем примере JavaScript изображение загружается, если MusicBrainz возвращает отношение, содержащее URL-адрес изображения из Викисклада. Он не возвращает URL-адрес изображения для многих художников, хотя их изображения доступны на странице Викисклада. Можете ли вы предложить какой-либо способ преодолеть эту проблему? - person Mahan Vyakti; 15.07.2021