LastFM запрос на Android - PullRequest
       354

LastFM запрос на Android

1 голос
/ 23 мая 2011

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

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

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

Я зарегистрировался, и у меня есть API-ключ. Если я хочу использовать метод Artist.getS Similar очень легко. Например, если я хочу найти исполнителя, похожего на «Шер», с помощью этого метода, 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
  • ск

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

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

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

api_keyxxxxxxxxauthTokenxxxxxxxmethodauth.getMobileSession

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

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

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

Есть идеи ??? Спасибо !!!

Ответы [ 2 ]

3 голосов
/ 23 мая 2011

Зачем изобретать велосипед: есть 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 в http://code.google.com/p/lastfm-java/source/browse/trunk/src/de/umass/lastfm/Authenticator.java).

1 голос
/ 23 сентября 2013

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

...