我正在 Android 上开发音乐播放器。
我想使用 LastFM API。
问题是当我想使用 LastFM 的方法时。
我注册了,我有一个 api-key。如果我想使用 Artist.getSimilar 方法非常简单。例如,如果我想使用此方法搜索与“Cher”相似的艺术家,则 url 为:
通过参数艺术家和 api_key 传递。
问题是我想使用 Artist.getTags 方法
我必须通过强制 4 个参数:
- 艺术家
- api_key
- api_sig
- sk
我有 2 个第一个参数,但我无法获得 api_sig 和 sk。
我阅读了这份文件:http ://www.lastfm.es/api/authentication
通过首先按参数名称的字母顺序对调用中发送的所有参数进行排序,然后使用方案将它们连接成一个字符串,从而构建您的 api 方法签名。因此,对于 auth.getMobileSession 的调用,您可能有:
api_keyxxxxxxxxxauthTokenxxxxxxxmethodauth.getMobileSession
确保您的参数是 utf8 编码的。现在将您的秘密附加到此字符串。最后,生成结果字符串的 md5 哈希。例如,对于密码等于“mysecret”的帐户,您的 api 签名将是:
api signature = md5("api_keyxxxxxxxxauthTokenxxxxxxxmethodauth.getMobileSessionmysecret") 其中 md5() 是一个 md5 散列操作,它的参数是要散列的字符串。散列操作应返回 32 个字符的十六进制 md5 散列。
但我什么都不懂。首先我必须获得api_sig,然后获得会话密钥,但我不知道怎么做,使用哪些类以及什么......
任何想法???谢谢!!!