@Int64 Спасибо. Через функцию сработало
Как правильно передать 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
