Dima Asked:2024-10-01 23:01:31 +0000 UTC2024-10-01 23:01:31 +0000 UTC 2024-10-01 23:01:31 +0000 UTC 如何在 Bitrix24 上制作自己的开放 API 772 大家好,任务是在Bitrix24上创建一个开放的API。一切都很好,但是当 prolog 连接时,授权页面会返回到所有传入请求,如何避免这种情况? 这是代码,如果我关闭序言,那么一切都很好,但我需要序言与 Bitrix 方法交互 php 2 个回答 Voted Konstantin Likhachev 2024-10-02T18:34:29Z2024-10-02T18:34:29Z 如果我正确理解您的任务,那么最正确的方法是将您的方法添加到 Bitrix24 REST。 将处理程序附加到事件OnRestServiceBuildDescription 描述您需要的范围内的方法(您可以使用您自己的) <?php use Bitrix\Main\ArgumentException; use Bitrix\Main\EventManager; use Bitrix\Main\LoaderException; use Bitrix\Main\ObjectPropertyException; use Bitrix\Main\SystemException; use Bitrix\Rest\RestException; class MyRest { /** * Навешивает обработчик для добавления методов REST API * * @return void */ public static function init(): void { $eventManager = EventManager::getInstance(); $eventManager->addEventHandlerCompatible("rest", "OnRestServiceBuildDescription", function () { return [ 'myrest' => [ 'myrest.something.get' => [ 'callback' => [__CLASS__, 'getSomething'], 'options' => [], ], 'myrest.something.set' => [ 'callback' => [__CLASS__, 'setSomething'], 'options' => [], ], ], ]; }); } public static function getSomething($query, $n, \CRestServer $server): array { // ... } public static function setNotifications($query, $n, \CRestServer $server): array { $somethingId = $query['something_id']; // ... } } 在 init.php 的某个地方你调用MyRest:init(); 文档https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=99&LESSON_ID=7985&LESSON_PATH=8771.5380.7985 Best Answer Firsov36 2024-10-02T23:31:22Z2024-10-02T23:31:22Z 您需要添加一个常量 const NOT_CHECK_PERMISSIONS = true;
如果我正确理解您的任务,那么最正确的方法是将您的方法添加到 Bitrix24 REST。
OnRestServiceBuildDescription在 init.php 的某个地方你调用
MyRest:init();文档https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=99&LESSON_ID=7985&LESSON_PATH=8771.5380.7985
您需要添加一个常量