Как развернуть REST API на 1С-Битрикс?



@dikey58

Я нашел файлик, как понимаю, для REST API, лежал он в /bitrix/modules/rest/services/rest/index.php. Его я себе скопировал в папку /rest/. Сделал к нему запрос http://domain.ru/rest/methods, он мне выдал wrong_authorization. Нашел я компонент rest.token, вывел его на странице /rest/auth/. При запросе http://domain.ru/rest/auth/ выдает wrong_client. В коде этого компонента полазил, но пока так и не понял как передать ему клиента и получить токен.
Вывел на странице еще компонент rest.authorize и обратился к странице http://domain.ru/rest/authorize/?client_id=1, но тут возникает ошибка:

No client credentials (0)
../bitrix/modules/rest/lib/oauth/client.php:167

Что дальше?


Решения вопроса 0


Ответы на вопрос 2



@MaxKozlov

Источники мудрости
Rest API от Bitrix24
Статья от intervolga
Возможно, вариант решения через bitrix:rest.marketplace.localapp. У меня не заработало
Рабочее решение

https обязателен

  1. Предполагается что страничка секретная или даже одноразовая, только для получения хука
    /local/rest/index.php
    <?php require_once($_SERVER['DOCUMENT_ROOT'] . 
        "/bitrix/modules/main/include/prolog_admin.php"); ?>
       <div class="adm-workarea">
           <? $APPLICATION->IncludeComponent(
               "bitrix:rest.hook",
               ".default",
               [
                   "SEF_MODE" => "Y",
                   "SEF_FOLDER" => "/local/rest/",
                   "COMPONENT_TEMPLATE" => ".default",
                   "SEF_URL_TEMPLATES" => [
                       "list" => "",
                       "event_list" => "event/",
                       "event_edit" => "event/#id#/",
                       "ap_list" => "ap/",
                       "ap_edit" => "ap/#id#/",
                   ]
               ],
               false
           ); ?>
           <br>
           <a href="https://qna.habr.com//javascript:void(0)" class="adm-btn adm-btn-green"
               onclick="BX.PopupMenu.show('rest_hook_menu', this, [{
                  'href':'/local/rest/event/0/',
                  'text':'Исходящий вебхук'
               },{
                  'href':'/local/rest/ap/0/',
                  'text':'Входящий вебхук'
               }])">
               Добавить вебхук
           </a>
       </div>
    <? require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php");

  2. в urlrewrite.php добавляем
    array(
       'CONDITION' => '#^/local/rest/#',
       'RULE' => '',
       'ID' => 'bitrix:rest.hook',
       'PATH' => '/local/rest/index.php',
    ),

  3. Надо убедиться, что urlrewrite.php битрикса отрабатывает ссылки на нашу страницу вида /local/rest/ap/0/
  4. Заходим на свежесозданную страницу, добавляем там свой входящий хук
  5. Получаем пару client_id / secret_id
  6. Используем в запросах вида

    https: //site.domain/rest/17607/p8n2dh2hf2nf258n/profile/



@pro6ka

Вот здесь посмотрите
https://dev.1c-bitrix.ru/learning/course/index.php…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *