ujy/bitrix24_api_authorization

授权类,用于轻松获取Bitrix24访问令牌以用于API

1.1.1 2019-04-14 09:45 UTC

This package is not auto-updated.

Last update: 2024-09-24 15:25:22 UTC


README

License Total Downloads Latest Stable Version Latest Unstable Version

感谢 opravdin 对全局类的修复,在2019年2月Bitrix24团队更改了登录页面UI后,使类重新恢复活力...

其他语言版本阅读此文档: 英文俄语.

轻量级类,用于自动化Bitrix24授权流程。只需定义少量变量,即可自动获取Bitrix24访问令牌(会话令牌)。

  • 您可以将其作为独立类使用
  • 您可以与 mesilov/bitrix24-php-sdk 一起使用 - 这是一个用于处理Bitrix24 API的出色库。

需求

示例 "作为独立类"

<?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