Видео ролики бесплатно онлайн

Смотреть красивое видео

Официальный сайт sosamba138 24/7/365

Смотреть видео бесплатно

NecromS 23.03.2011 06:29

Есть вопрос![Решено] Проблема с Last.fm API - api_sig

Доброе время суток человеки. Хочу сделать скрипт на баше, чтоб через апи с ласта брать тег исполнителя и вбивать в id3. Но застопорился на раннем этапе, и чёто мозга не хватает решить трабл. Предположим, что дело выглядит вот так:

 1
2
3
4
5
6
7
8
9
10
11
12
ROOT_URL="http://ws.audioscrobbler.com/2.0/?method"

APIKEY=апишныйкей например
SECRETKEY=секретныйкей например

ARTIST=исполнитель например

TOKEN=$(curl -s "$ROOT_URL=auth.gettoken&api;_key=$APIKEY" | sed -n 's|<token>\(.*\)</token>|\1|p'| egrep -o '<a-z0-9>{32}')

APISIG=$(echo "api_key"$APIKEY"methodauth.getSessiontoken"$TOKEN""$SECRETKEY"") | md5sum | egrep -o '</a-z0-9><a-z0-9>{32}')

curl "$ROOT_URL=artist.getTags&api;_key=$APIKEY&api;_sig=$APISIG&artist;=$ARTIST"</a-z0-9>



При выполнении последней команды, имеется такой вывод:

1
2
3
<?xml version="1.0" encoding="utf-8"?>
<lfm status="failed">
<error code="13">Invalid method signature supplied</error></lfm>



Не могу найти ошибку, может кто наставит меня? Заранее спасибо откликнувшемся.

Решение: Нашёл свою ошибку - недочитал ман до конца. Метод, который был мне нужен - artist.getTopTags. Там не требуется никакой авторизации.


Тэги:
+ -1 -
Похожие Поделиться

mitrandir_hex 23.03.2011 08:31 #
+ 0 -
На Last.fm утверждают, что необходимо в запросе упорядочивать параметры по алфавиту:
Construct your api method signatures by first ordering all the parameters sent in your call alphabetically by parameter name
mitrandir_hex 23.03.2011 08:34 #
+ 0 -
И ещё такое пишут:
Maybe helpful:
- lfmCMD.pl: fill in your api key and secret; compare the results (apisig and URL) with your (I assume that you already have done this)
- have a look at the order of the parameters
- monitor the outgoing call with a network spy (eg. WireShark)

From the doc:
Construct your api method signatures by first ordering all the parameters sent in your call alphabetically by parameter name and concatenating them into one string using a scheme.
mitrandir_hex 23.03.2011 08:45 #
+ 0 -
И ещё вариант - auth.getToken
Мб токен из-за того не получает и как следствие аписиг не проходит
derfenix 23.03.2011 09:37 #
+ 0 -
И ещё вариант APISIG=$(echo -n ....
h31 23.03.2011 13:34 #
+ 1 -
>чтоб через апи с ласта брать тег исполнителя и вбивать в id3

Для этого уже давно придумали MusicBrainz.
NecromS 23.03.2011 16:47 #
+ 0 -
Спасибо за ответы. Попробовал все вышеперечисленные варианты, но вывод тот же.
На одном ресурсе мне предложили посылать запрос через POST. Проблема в том, что я не знаю как =(
kstep 23.03.2011 18:57 #
+ 0 -
Упс, промазал. Ответ читай ниже.
kstep 23.03.2011 18:56 #
+ 1 -
man curl

ищи --data

например будет вместо
curl "$ROOT_URL=artist.getTags&api_key=$APIKEY&api_sig=$APISIG&artist=$ARTIST"
вот это
curl -d api_key=$APIKEY -d api_sig=$APISIG -d artist=$ARTIST $ROOTURL=artist.getTags
kstep 23.03.2011 18:58 #
+ 1 -
Или даже так:
curl -d api_key=$APIKEY -d api_sig=$APISIG -d artist=$ARTIST -d method=artist.getTags http://ws.audioscrobbler.com/2.0/
NecromS 23.03.2011 23:05 #
+ 0 -
О, благодарю! Сегодня как раз копал эту тему, но всё за меня сделали =)
ЗЫ: Попробовал оба варианта. Но вывод такой же =(
NecromS 23.03.2011 23:55 #
+ 0 -
Господа, мои благодарности. Нашёл свою ошибку - недочитал ман до конца. Метод, который был мне нужен - artist.getTopTags. Там не требуется никакой авторизации. Всем спасибо.

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн