Как подписать Lastfm API? - PullRequest
0 голосов
/ 06 ноября 2018

Согласно документации:

  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));
}
...