<? /* в адресную строку */ // https://my.bitrix24.ru/oauth/authorize/?client_id=clidxxx&response_type=code&redirect_uri=https%3A%2F%2Fsite.ru%3Aindex.php /* в адресную строку */ // https://my.bitrix24.ru/oauth/token/?client_id=clidxxx&grant_type=authorization_code&client_secret=clsecretxxx&redirect_uri=https%3A%2F%2Fsite.ru%3Aindex.php&code=xxx&scope=crm,sonet_group // /* получаем токен каждый раз новый - уже программно с помощью file_get_contents - ниже по коду */ // https://my.bitrix24.ru/oauth/token/?client_id=clidxxx&grant_type=refresh_token&client_secret=clsecretxxx&redirect_uri=https%3A%2F%2Fsite.ru%3Aindex.php&refresh_token=xxx /* добавляем параметры ссылкам при переходе внутри приложения */ // $addGetParam = 'DOMAIN='.$_GET['DOMAIN'].'&PROTOCOL='.$_GET['PROTOCOL'].'&LANG='.$_GET['LANG'].'&APP_SID='.$_GET['APP_SID']; /* авторизация */ /* получаем новый аксес_токен с помощью refresh_token */ $ref = file_get_contents("https://my.bitrix24.ru/oauth/token/?client_id=clidxxx&grant_type=refresh_token&client_secret=clsecretxxx&redirect_uri=https%3A%2F%2Fsite.ru%3Aindex.php&refresh_token=xxx"); $ref = json_decode($ref); $ref = (array)$ref; $new_token = $ref['access_token']; $domain = ($_REQUEST['PROTOCOL'] == 0 ? 'http' : 'https') . '://'.$_REQUEST['DOMAIN']; /* ---- */ /* список товаров из облака */ $res = file_get_contents($domain."/rest/crm.product.list.json?auth=".$new_token); $arCloudProducts = json_decode($res,true); // vdump($arCloudProducts);
Авторизация приложения bitrix24 с помощью OAuth

Авторизация приложения bitrix24 с помощью OAuth. Регистрируем приложение в партнерском кабинете, создаем версию приложения, указываем права, путь к адресу вашего сервиса с приложением, устанавливаем приложение. Для использования методов rest api облачного bitrix24 вам необходимо авторизоваться по протоколу oauth. В первую очередь необходимо запросить code с помощью первого запроса, указав client_id и redirect_uri, далее во втором запросе указываем полученный code, scope-права, client_secret, redirect_uri, grant_type, client_id. Все необходимые поля можно получить в натсройках приложения и в возвращаемых данных. Далее уже программно запрашиваем refresh_token с помощью file_get_contents. Функция возвратит json-ответ с access_token. Полученный токен мы добавляем в запросы типа $domain."/rest/crm.product.list.json?auth=".$new_token.