网站首页 > 文章中心 > 其它

php获取钉钉日志数据

作者:小编 更新时间:2023-10-17 10:32:25 浏览量:421人看过

php怎么获取钉钉员工授权信息?

做过一个E应用,使用lumen框架,和你的思路是一样的,新用户点进去就自动授权注册应用,数据存到我们自己的数据库中,不依赖钉钉,我们还同步了部门信息,如果粘贴复制和下面的那个同学一样,看上去你也会觉得懵,方法都是封装好了的.

建议你这样试试看:

获取AccessToken:

php获取钉钉日志数据-图1

后端通过corpid,corpsecret请求接口gettoken?corpid=idcorpsecret=secrect获取AccessToken

获取钉钉用户userid:

前端需要相应的处理,携带authCode请求,加上AccessToken这两个参数请求接口/user/getuserinfo?access_token=access_tokencode=authCode这个

获取钉钉用户详情:

使用access_token和上一步的钉钉userid 请求接口 /user/get?access_token=ACCESS_TOKENuserid=

插入钉钉用户的数据到你的 数据库中

我们这样做的:

/**

* 钉钉免登陆获获取用信息

* @param $authCode

* @param $url

* @return array

*/

static function outhLogin($authCode, $url)

{

if (empty($authCode) || empty($url)) {

return self::returnError('1101', self::$errorArray['1101']);

}

$accessToken = ComponentDingtalk::getPcAccessToken();

if ($accessToken['code']) {

self::logError(__CLASS__ . '-' . __FUNCTION__, '获取access_token失败');

$dingUserId = ComponentDingtalk::getDingUserid($accessToken['data'], $authCode);

if ($dingUserId['code']) {

self::logError(__CLASS__ . '-' . __FUNCTION__, '用户userid获取失败(调用钉钉API)');

$dinguserInfo = ComponentDingtalk::getDingUserInfo($accessToken['data'], $dingUserId['data']);

if ($dinguserInfo['code']) {

self::logError(__CLASS__ . '-' . __FUNCTION__, '用户信息获取失败(调用钉钉API)');

$userInfo = $dinguserInfo['data'];

return self::transaction(function () use ($accessToken, $userInfo, $url) {

if (\count($userInfo['department']) 1) {

$departIdArr = [];

$departNameArr = [];

for ($i = 0, $iMax = \count($userInfo['department']); $i $iMax; $i++) {

$departInfo[$i] = ServerDepartment::getByDdDepartid($userInfo['department'][$i]);

$departIdArr[] = $departInfo[$i]['id'];

$departNameArr[] = $departInfo[$i]['name'];

$depart['id'] = implode(',', $departIdArr);

$depart['name'] = implode(',', $departNameArr);

} else {

$ddDepartmentId = implode(',', $userInfo['department']);

$depart = ServerDepartment::getByDdDepartid($ddDepartmentId);

//插入用户

$user = ServerEmployee::getByDdUserid($userInfo['userid']);

if (empty($user)) {

$roleId = 0;

$departId = $depart['id'];

$name = $userInfo['name'];

$mobile = $userInfo['mobile'];

$departName = $depart['name'];

$position = $userInfo['position'];

$ddUserid = $userInfo['userid'];

$ddInfo = json_encode($userInfo, JSON_UNESCAPED_UNICODE);

$tokenOverAt = (int)(time() + $_ENV['PROJECT_apiAppTokenOverTime']);

$token = self::_createToken($userInfo['userid'], $tokenOverAt);

$status = 1;

$userId = ServerEmployee::insert($roleId, $departId, $name, $mobile, $departName, $position, $ddUserid, $ddStatus, $ddInfo, $token, $tokenOverAt, $status);

if (!$userId) {

self::logError(__CLASS__ . '-' . __FUNCTION__, '用户初始化创建失败');

$userId = $userId ? $user['id'];

// 更新Token

$id = $userId;

$roleId = $user['roleId'];

$updateParams = ServerEmployee::update($id, $roleId, $departId, $name, $mobile, $departName, $position, $ddUserid, $ddStatus, $ddInfo, $token, $tokenOverAt, $status);

if (!$updateParams) {

self::logError(__CLASS__ . '-' . __FUNCTION__, '用户信息更新失败' . json_encode($updateParams, JSON_UNESCAPED_UNICODE) . '/' . json_encode([$id, $roleId, $departId, $name, $mobile, $depart, $position, $ddUserid, $ddStatus, $ddInfo, $token, $tokenOverAt, $status]));

// 前端的配置信息

// 获取jsTicket

$jsTicket = ComponentDingtalk::getPcJsTicket($accessToken['data']);

if ($jsTicket['code']) {

self::logError(__CLASS__ . '-' . __FUNCTION__, '获取jsTicket失败(调用钉钉API)');

return self::returnError('1111', self::$errorArray['1111']);

// 组装签名数据

$curUrl = $url;;

$nonceStr = uniqid('', true);

$agentId = $_ENV['PROJECT_ddInterfaceAgentID'];

$timeStamp = time();

$corpId = $_ENV['PROJECT_ddInterfaceCorpId'];

$signature = ComponentDingtalk::getSign($jsTicket['data'], $nonceStr, $timeStamp, $curUrl);

$config = array(

'url' = urldecode($curUrl),

'nonceStr' = $nonceStr,

'agentId' = $agentId,

'timeStamp' = $timeStamp,

'corpId' = $corpId,

'signature' = $signature

);

// 获取当前角色的权限

$roleInfo = ServerRole::getById($roleId);

// 当前用户的顶级部门(不含根部门)

$departInfo = ServerDepartment::getById($departId);

if ($departInfo['parentid'] == 1) {? // 二级部门(总经办)

$departRootId = $departId;

$departRootName = $departName;

$sonDepart = ServerDepartment::getById($departInfo['parentid']);//分组

if ($sonDepart['parentid'] == 1) {

$departRootId = $sonDepart['id'];

$departRootName = $sonDepart['name'];

$grandsonDepart = ServerDepartment::getById($sonDepart['parentid']);//部门

if ($grandsonDepart['parentid'] == 1) {

$departRootId = $grandsonDepart['id'];

$departRootName = $grandsonDepart['name'];

$grandchildDepart = ServerDepartment::getById($grandsonDepart['parentid']);//分公司

$departRootId = $grandchildDepart['id'];

$departRootName = $grandchildDepart['name'];

$company = ServerDepartment::get(['parentid' = 0, 'dd_departid' = 1]);

return self::returnSuccess(array(

'id' = $userId,

'name' = $name,

'token' = $token,

'tokenOverAt' = $tokenOverAt,

'config' = $config,

'power' = $roleInfo['power'] ? '',

'departId' = $departId,

'departName' = $departName,

'departRootId' = $departRootId,

'departRootName' = $departRootName,

'company' = $company['name'],

));

}, function (\Exception $e) {

echo $e-getMessage();

self::logError(__CLASS__ . '-' . __FUNCTION__, $e-getMessage());

});

钉钉上怎么看别人的日报

若想查看日志,根据不同的角色可查看的范围不同哦:

①.、其他人(包括管理员)在手机端/PC端只能查看/导出跟自己相关(我发出的/我收到的)的日志.

路径:【手机/电脑钉钉】-【工作】-【日志】-【看日志】 或者【手机/电脑钉钉】-【工作】-【日志】-【统计】/【日志报表】

钉钉发送的日志自己怎么能看到吗

可以,在你所发往的群(好友)可以看到,或者点 工作-日志-我发出的.

取钉钉流程数据问题怎么解决

第一段:销售管道管理,钉钉表格协同处理

记得自己在创业公司还没有上CRM系统的时候,我们会把销售渠道通过excel表格的方式来进行管理,让所有销售主管,必须每周都对所有的销售员工的客户信息进行复盘,并将复盘总结整理汇总给销售运营专员,再由销售运营专员汇总到我这里,这样层层汇总信息经常出错误.

我做销售管理对数据非常敏感,汇总到我这里,哪个数据信息有问题我一眼就能看出,每当我看出来哪里有问题去review我下属的时候,他们都会非常紧张,经常会全盘检查.有时候涉及到一些我特别想知道的重要信息但又发现异常的时候,难免会把着急的情绪传染给了下属,直到我发现了钉钉在线文档,真的是高效又及时的解决了我这个问题.

我会把我想要的信息制定成模板,同步给销售运营组和销售管理者,所有人都在这一张表格上进行录入,销售运营可以在线整理.这样做的好处有以下几点:

第二段:千人大会信息汇总,钉钉表格帮了我大忙

之前在一家互联网公司做营销管理,我们每个季度都要举办一次千人大会,由于是邀请制,不少参会人员会临时变更相关信息,且经常出现需要调整的情况.比如变更住宿情况、参会人员请假、和其他信息调整等.

以上就是土嘎嘎小编为大家整理的php获取钉钉日志数据相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章