ujy / bitrix24_api_authorization
授权类,用于轻松获取Bitrix24访问令牌以用于API
1.1.1
2019-04-14 09:45 UTC
Requires
- mervick/curl-helper: ^1.1
This package is not auto-updated.
Last update: 2024-09-24 15:25:22 UTC
README
感谢 opravdin 对全局类的修复,在2019年2月Bitrix24团队更改了登录页面UI后,使类重新恢复活力...
其他语言版本阅读此文档: 英文, 俄语.
轻量级类,用于自动化Bitrix24授权流程。只需定义少量变量,即可自动获取Bitrix24访问令牌(会话令牌)。
- 您可以将其作为独立类使用
- 您可以与 mesilov/bitrix24-php-sdk 一起使用 - 这是一个用于处理Bitrix24 API的出色库。
需求
- php: >=5.4
- ext-json: *
- ext-curl: *
- mesilov/bitrix24-php-sdk: 可选
示例 "作为独立类"
<?php require_once 'vendor/autoload.php'; $b24auth = new \Bitrix24Authorization\Bitrix24Authorization(); // Change example data to your own $b24auth->setApplicationId('local.1b1231b1xfa234.12352734'); // Getting when registring Bitrix24 application $b24auth->setApplicationSecret('q3vOqweJSasd1wDAkdL3qq13rqKDe8ffGMlFsI8Ykpasld4n0w'); // Getting when registring Bitrix24 application $b24auth->setApplicationScope('crm,user,telephony'); // write Bitrix24 instances which you want to use via API. They need to be choosen in application at Bitrix24 $b24auth->setBitrix24Domain('your-site.bitrix24.ru'); // Address of your Bitrix24 portal $b24auth->setBitrix24Login('your_login@gmail.com'); // login of your real user, he need to be an Admibistrator of instance you want to use $b24auth->setBitrix24Password('your_password'); // password of your real user, he need to be an Admibistrator of instance you want to use $b24auth->initialize(); // Now you can use object $b24auth var_dump($b24auth->bitrix24_access); // Here you`ve got your authorization data // Or you can just use $b24auth->initialize() - it will return the same data as property "bitrix24_access". Access token will not RE generated until it expires ?>
输出将如下所示
object(stdClass)#2 (11) {
["access_token"]=>
string(70) "d69d585b0027431000005e120000011c000003b69bb7c48c33547a3b053d21a5c1d0f5"
["expires"]=>
int(1532534230)
["expires_in"]=>
int(3600)
["scope"]=>
string(18) "crm,user,telephony"
["domain"]=>
string(18) "your-site.bitrix24.ru"
["server_endpoint"]=>
string(31) "https://oauth.bitrix.info/rest/"
["status"]=>
string(1) "L"
["client_endpoint"]=>
string(32) "https://your-site.bitrix24.ru/rest/"
["member_id"]=>
string(32) "02f2213319a5e74fb12351c15345fe81"
["user_id"]=>
int(1)
["refresh_token"]=>
string(70) "c61c805b0027431000005e120000011c000003e02d1b4a9ce34e617d09cecbf6e69efb"
}
示例 "作为 mesilov/bitrix24-php-sdk 库的一部分"
<?php require_once 'vendor/autoload.php'; // Initializing object from mesilov/bitrix24-php-sdk library $mesilov_obj = new \Bitrix24\Bitrix24(); // Initializing authorization class $b24auth = new \Bitrix24Authorization\Bitrix24Authorization(); // Change example data to your own $b24auth->setApplicationId('local.1b1231b1xfa234.12352734'); // Getting when registring Bitrix24 application $b24auth->setApplicationSecret('q3vOqweJSasd1wDAkdL3qq13rqKDe8ffGMlFsI8Ykpasld4n0w'); // Getting when registring Bitrix24 application $b24auth->setApplicationScope('crm,user,telephony'); // write Bitrix24 instances which you want to use via API. They need to be choosen in application at Bitrix24 $b24auth->setBitrix24Domain('your-site.bitrix24.ru'); // Address of your Bitrix24 portal $b24auth->setBitrix24Login('your_login@gmail.com'); // login of your real user, he need to be an Admibistrator of instance you want to use $b24auth->setBitrix24Password('your_password'); // password of your real user, he need to be an Admibistrator of instance you want to use // Initializing $mesilov_auth_obj = $b24auth->initialize($mesilov_obj); /* Initializing with mesilov object as parameter call next methods of mesilov/bitrix24-php-sdk library: $mesilov_obj->setApplicationScope(); $mesilov_obj->setApplicationId(); $mesilov_obj->setApplicationSecret(); $mesilov_obj->setDomain(); $mesilov_obj->setMemberId(); $mesilov_obj->setAccessToken(); $mesilov_obj->setRefreshToken(); */ // Now we can work with Bitrix24 API using library // EXAMPLE: Lets get info about current user, who was used in authorization process $obB24User = new \Bitrix24\User\User($mesilov_auth_obj); $arCurrentB24User = $obB24User->current(); var_dump($arCurrentB24User);
安装
将 "ujy/bitrix24_api_authorization": "dev-master" 添加到您应用程序的 composer.json 文件中。或者将仓库克隆到您的项目中。
或者直接使用 composer 命令 "composer require ujy/bitrix24_api_authorization:dev-master"
提交错误和功能请求
错误和功能请求在 GitHub 上跟踪
许可证
当前类受 MIT 许可证的许可 - 详细信息请参阅 LICENSE 文件
作者
Ievgenii Gardysh - ujy@ukr.net / ghenia.hard@gmail.com
Oleg Pravdin (在Bitrix UI更新后对类进行重写) - opravdin@gmail.com
感谢来自 afinogen.su 的 Sergey,为脚本的基础版本提供支持,该脚本可以自动获取访问令牌。
有任何问题吗?
电子邮件: ujy@ukr.net / ghenia.hard@gmail.com
电子邮件: opravdin@gmail.com