Я разрабатываю музыкальный плеер на Android.
Я хотел бы использовать API LastFM.
Проблема заключается в том, когда я хочу использовать метод LastFM.
Я зарегистрируюсь и у меня есть api-key. Если я хочу использовать метод Artist.getSimilar, это очень просто. Например, если я хочу искать аналогичного исполнителя в "Шер", используя этот метод, URL-адрес:
Передача аргументом artist и api_key.
Проблема в том, что я хочу использовать метод Artist.getTags
Мне нужно передать принудительные 4 аргумента:
У меня есть два первых аргумента, но я не могу получить 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 и после получения ключа сеанса, но я не знаю, как это сделать, какие классы используют и что-то...
Любая идея??? Спасибо!!!
Зачем изобретать колесо: есть 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 > ).
Попробуйте использовать этот API: https://github.com/c99koder/lastfm-android/ Я нашел здесь здесь. Это может быть полезно