如何签署Lastfm API?

时间:2018-11-06 08:11:44

标签: api md5 signature last.fm

根据文档:

  1. 签署电话 通过首先按参数名称的字母顺序对调用中发送的所有参数进行排序,然后使用方案将它们串联为一个字符串,来构造api方法签名。因此,对于auth.getMobileSession的调用,您可以:

api_keyxxxxxxxxmethodauth.getMobileSessionpasswordxxxxxxxusernamexxxxxxxx

确保您的参数是utf8编码的。现在,将您的秘密附加到此字符串。最后,生成结果字符串的md5哈希。例如,对于一个秘密等于“ mysecret”的帐户,您的api签名将为:

api signature = md5("api_keyxxxxxxxxmethodauth.getMobileSession
                         passwordxxxxxxxusernamexxxxxxxxmysecret")

我做了与文档中相同的操作,但仍然收到错误Invalid method signature 有人成功使用javascript吗?

我的函数显然没有返回正确的api_sig

``export function getLastfmApiSignature() {
    let raw_string = `api_key${Lastfm_API_KEY}method${Lastfm_API_SIGNATURE_METHOD}password${Lastfm_password}username${Lastfm_username}${Lastfm_SHARED_SECRET}`;

    return md5(encodeURIComponent(raw_string));
}

0 个答案:

没有答案