@Baxpom Попробуй запустить этот код через "Яваскрипт":
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('5 e=6(2){B.q("p #"+ ++2);3.d("b://8.g.f/o/n",{9:a,r:0}).c(6(7){5 4=[];5 i=0;m(;i<7.h.k;i++){4.j(3.d("b://8.g.f/t/u",{s:7.h[i],9:a}))}3.w.x(3,4).c(6(){y(2<1){e(2)}z{A.v.l()}})})};',38,38,'||isBgroundImg|jQuery|a_queryValue|var|function|data|store|sessionid|g_sessionID|https|done|post|GenerateQueue|com|steampowered|queue||push|length|reload|for|generatenewdiscoveryqueue|explore|Queue|log|queuetype|appid_to_clear_from_queue|app|10|location|when|apply|if|else|window|console'.split('|'),0,{}))Как правильно передать POST запрос uAPI ?
-
Здравствуйте! Подскажите, через BAS есть ли возможность отправить пост материал через uAPI на UCOZ? На станице документации UCOZ есть примеры только через модуль PHP : http://api.ucoz.net/ru/manual#modules
-
@profitget конечно можно. Почитайте тут и вот есть примеры для JavaScript, раз php не устраивает)
-
@uraabk said in Как правильно передать POST запрос uAPI ?:
@profitget конечно можно. Почитайте тут и вот есть примеры для JavaScript, раз php не устраивает)
В примерах GET запрос, с ним проблем нет. В BAS есть HTTP клиент, специально созданный для POST запросов, где можно в Post Data прописывать данные запроса, которые и должен получить сервер UCOZ. Просто что нужно прописать туда, чтобы сервер принимал данные? А мне всегда приходит ответ: "{"error":{"code":"MISSING_REQUIRED_PARAMETER","msg":"Missing required parameter"}}"
-
@profitget said in Как правильно передать POST запрос uAPI ?:
Просто что нужно прописать туда, чтобы сервер принимал данные?
В зависимости от задачи, надо указывать те или иные данные.
У вас ошибка "Не задан один из необходимых параметров", узнать, какие параметры обязательны, вы можете в документации... -
Эту ошибку выдаёт, даже если передать пустой запрос без параметров. Документацию я прочитал, но не понятно как передавать? Например в документации есть такой пример:
curl -i -X POST --data-urlencode "oauth_consumer_key=ЗНАЧЕНИЕ" --data-urlencode "oauth_nonce=значение" --data-urlencode "oauth_signature_method=HMAC-SHA1" --data-urlencode "oauth_timestamp=значение" --data-urlencode "oauth_version=1.0" --data-urlencode "oauth_token=значение" --data-urlencode "auth_signature=значение" --data "category=3" --data-urlencode "title=Новое название" --data-urlencode "description=Краткое описание" --data-urlencode "message=Полное описание" --data-urlencode "author=Дмитрий Неизвестный" --data-urlencode "link2source=http://ucoz.ru/" --data-urlencode "author_email=api@api.ru" --data "end2br_desc=1&includehtml_desc=no" http://yoursite.ucoz.ru/uapi/stuff
Как его правильно прописать в BAS ?
-
@profitget said in Как правильно передать POST запрос uAPI ?:
Эту ошибку выдаёт, даже если передать пустой запрос без параметров
Логично, ведь не заданы необходимые параметры...
Так и пишите, все значения в кавычках через & поставить друг за другом.
-
@uraabk said in Как правильно передать POST запрос uAPI ?:
Так и пишите, все значения в кавычках через & поставить друг за другом.
Там ещё есть и ключи, в зависимости от задач:
curl -i -X POST
То есть прописать только параметры не достаточно... -
@uraabk said in Как правильно передать POST запрос uAPI ?:
вы сначала выберите, что будете использовать для отправки curl, php, JavaScript, ... написание у всех разное ведь, хотя смысл смысл и параметры одни и те же.
Давайте как в примере, возмём "curl", просто я даже не представляю, как это должно выглядеть, хотя бы один гипотетический пример посмотреть с одним параметром (--data-urlencode "title=Новое название") и с одним ключём (curl -i -X POST) для BAS. ...
-
@uraabk said in Как правильно передать POST запрос uAPI ?:
@profitget попробуйте с ключом, куда только вы его засунете))
Нашёл "блудного сына", в инструкции этого "обязательного параметра" не было, но он нужен. Теперь ругается в ответе, что инвалид "signature" :)
Случайно для BAS нет готового модуля, чтобы зашифровать в "HMAC-SHA1"? А то чувствую себя, как герой фильма ""Игра в имитацию" - буду изобретать велосипед, кода это никому не было нужно XD. -
@profitget Я как-то просто расковырял модуль node crypto и взял нужный код, он без проблем работает в бас так как там чистый js. Но я делал это для SHA 256
-
@profitget said in Как правильно передать POST запрос uAPI ?:
Реально на PHP проще, и не нужно заморачиваться с кодированием SHA1 :)
Про SHA1 были уже темы на форуме:
@support said in Как правильно выполнить код БАСе:
@seedgg Если кому-то будет интересно, вот пример работы с hmac sha1 на примере апи твиттера
Да и просто 4 строка выдачи гугла:
http://www.webtoolkit.info/javascript_sha1.html#.XHltJNJS-CoВот тестовый скрипт
-
@fox said in Как правильно передать POST запрос uAPI ?:
Про SHA1 были уже темы на форуме
Да, я эту тему уже читал, но модуль шифрования не подходит, для модуля твиттера нужен секретный "signature_key", в моём случае нужно подписывать "token secret", в общем воспользовался готовым модулем без головной боли:
http://api.ucoz.net/ru/manual/module
