Согласно документации:
- Подпишите ваши звонки
Создайте свои сигнатуры методов 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));
}