Bitrix. Сообщение с файлом в Живую Ленту. REST
<?
// сообщение в живую ленту с добавлением файла
$queryUrl = 'https://mirossa.bitrix24.ru/rest/190/c977x8foprtdsmxy/log.blogpost.add.json';
$queryData = http_build_query(array(
'POST_MESSAGE' => "Тест",
'POST_TITLE' => "Test",
'DEST' => array("U190"), // 190 - это id контретного пользователя
//'FILES' => array('1.gif', 'R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='),
'FILES' => array(array('Ostap.txt', '0J7RgdGC0LDQvyDQkdC10L3QtNC10YA=') ),
));
// В итоге такая строка запроса:
// POST_MESSAGE=%D0%A2%D0%B5%D1%81%D1%82&POST_TITLE=Test&DEST%5B0%5D=U190&FILES%5B0%5D%5B0%5D=Ostap.txt&FILES%5B0%5D%5B1%5D=0J7RgdGC0LDQvyDQkdC10L3QtNC10YA%3D
// POST_MESSAGE=Тест&POST_TITLE=Test&DEST[0]=U190&FILES[0][0]=Ostap.txt&FILES[0][1]=0J7RgdGC0LDQvyDQkdC10L3QtNC10YA=
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
curl_close($curl);
echo $result."
";
$result = json_decode($result);
var_dump($result);
echo "
";
//варианты ответов:
// {"result":620,"time":{"start":1570819847.8103471,"finish":1570819849.2287049,"duration":1.4183578491210938,"processing":1.3745460510253906,
//"date_start":"2019-10-08T21:50:47+03:00","date_finish":"2019-10-08T21:50:49+03:00"}}
// {"error":"WRONG_ENCODING","error_description":"Wrong request encoding"}
?>
Получить список пользователей https://dev.1c-bitrix.ru/rest_help/users/user_get.php
<?php
// список пользователей
$queryUrl = 'https://mirossa.bitrix24.ru/rest/190/crt54fah78h/user.get.json';
$queryData = "ACTIVE=true"; //фильтр
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData, // '',
));
$result = curl_exec($curl);
curl_close($curl);
echo $result;
//$result = json_decode($result);
?>
Аналог в 1С. Сообщение с файлом в Живую Ленту. REST
Функция ОтправитьВБитриксЗавершение(ТабДок, кодПользователя)
пИмяФ = КаталогВременныхФайлов() + "name.xlsx";
Попытка
ТабДок.Записать(пИмяФ, ТипФайлаТабличногоДокумента.XLSX);
Двоичные = новый ДвоичныеДанные(пИмяФ);
Исключение
возврат Ложь;
КонецПопытки;
Б64 = Base64Строка(Двоичные);
Б64 = КодироватьСтроку(Б64, СпособКодированияСтроки.КодировкаURL);
соединение = новый HTTPСоединение("mirossa.bitrix24.ru", , , , , , Новый ЗащищенноеСоединениеOpenSSL());
запрос = новый HTTPЗапрос("rest/175/df467gjkcv9/log.blogpost.add.json");
запрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
текстЗапроса = "POST_MESSAGE=Mes&POST_TITLE=Title&DEST[0]=U" + кодПользователя +
"&FILES[0][0]=name.xlsx" + "&FILES[0][1]=" + Б64;
запрос.УстановитьТелоИзСтроки(текстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
ответ = соединение.ОтправитьДляОбработки(запрос);
текстОтвета = ответ.ПолучитьТелоКакСтроку();
ч = Лев(текстОтвета, 13);
Если Найти(ч, "error") <> 0 Тогда
возврат Ложь;
КонецЕсли;
возврат Истина;
КонецФункции
Процедура ПолучитьПользователейИзБитрикс()
соединение = новый HTTPСоединение("mirossa.bitrix24.ru", , , , , , Новый ЗащищенноеСоединениеOpenSSL());
запрос = новый HTTPЗапрос("rest/184/ejtyrg77v90989/user.get.json");
текстЗапроса = "ACTIVE=true";
запрос.УстановитьТелоИзСтроки(текстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
ответ = соединение.ОтправитьДляОбработки(запрос);
текстОтвета = ответ.ПолучитьТелоКакСтроку();
...
КонецПроцедуры
|