LastFM запрос на Android

1

Я разрабатываю музыкальный плеер на Android.

Я хотел бы использовать API LastFM.

Проблема заключается в том, когда я хочу использовать метод LastFM.

Я зарегистрируюсь и у меня есть api-key. Если я хочу использовать метод Artist.getSimilar, это очень просто. Например, если я хочу искать аналогичного исполнителя в "Шер", используя этот метод, URL-адрес:

http://ws.audioscrobbler.com/2.0/?method=artist.getsimilar&artist=cher&api_key=b25b959554ed76058ac220b7b2e0a026

Передача аргументом artist и api_key.

Проблема в том, что я хочу использовать метод Artist.getTags

Мне нужно передать принудительные 4 аргумента:

  • художник
  • api_key
  • api_sig
  • ск

У меня есть два первых аргумента, но я не могу получить api_sig и sk.

Я прочитал этот документ: http://www.lastfm.es/api/authentication

Постройте свои подписи метода api, предварительно заказывая все параметры, отправленные в вашем вызове в алфавитном порядке по имени параметра и объединяя их в одну строку с использованием схемы. Так для вызова auth.getMobileSession у вас может быть:

api_keyxxxxxxxxauthTokenxxxxxxxmethodauth.getMobileSession

Убедитесь, что ваши параметры закодированы в utf8. Теперь добавьте свой секрет в эта строка. Наконец, сгенерируйте хеш md5 из полученной строки. Например, для учетной записи с тайной, равной "mysecret", ваш Подпись api будет:

api signature = md5 ( "api_keyxxxxxxxxauthTokenxxxxxxxmethodauth.getMobileSessionmysecret" ) Где md5() - операция хеширования md5, и ее аргументом является строка хешировать. Операция хэширования должна возвращать 32-символьный hexadecimal md5 hash.

Но я ничего не понимаю. Сначала я должен получить api_sig и после получения ключа сеанса, но я не знаю, как это сделать, какие классы используют и что-то...

Любая идея??? Спасибо!!!

Теги:
key
last.fm

2 ответа

3

Зачем изобретать колесо: есть API last.fm в http://code.google.com/p/lastfm-java/, и вы можете увидеть, как они создают подпись в http://code.google.com/p/lastfm-java/source/browse/trunk/src/de/umass/lastfm/Caller.java (найдите метод private Result call(String method, String apiKey, Map<String, String> params, Session session), чтобы увидеть, как они вызывают метод Authenticator.getSignature в <а2 > ).

  • 0
    Спасибо! Я был смущен, правильная функция была getTopTags ...
1

Попробуйте использовать этот API: https://github.com/c99koder/lastfm-android/ Я нашел здесь здесь. Это может быть полезно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню