我正在Android上开发音乐播放器。
我想使用LastFM API。
问题在于我想使用LastFM的方法。
我注册了,我有一个api-key。 如果我想使用Artist.getSimilar方法很容易。 例如,如果我想使用此方法搜索类似的艺术家“雪儿”,则网址为:
通过参数artist和api_key传递。
问题是我想使用Artist.getTags
方法我必须传递强制4个参数:
我有2个第一个参数,但是我无法获得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个字符 十六进制md5哈希。
但我什么都不懂。首先我必须获取api_sig,并在获取会话密钥后,但我不知道它是如何做的,哪些类使用和任何东西......
任何想法???感谢!!!
答案 0 :(得分:3)
为什么重新发明轮子:http://code.google.com/p/lastfm-java/上有一个last.fm API,您可以看到他们如何在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)
方法以了解如何他们在http://code.google.com/p/lastfm-java/source/browse/trunk/src/de/umass/lastfm/Authenticator.java)调用Authenticator.getSignature
方法。
答案 1 :(得分:1)
试试这个API: https://github.com/c99koder/lastfm-android/ 我发现它here。 它可能有用