跳到主要内容

HTTP 连接器 - 钉钉开放平台 - 获取员工花名册信息

在搭建宜搭应用的过程中,你可能会遇到以下这些问题。

  • 通过宜搭的成员组件获取员工的职位、邮箱、工龄、手机号等信息。

前提条件

本教程使用到宜搭的连接器,你可以先了解以下 HTTP 连接器

实现效果

实现步骤

申请宜搭自定义连接器鉴权凭证及接口权限

若已申请,可忽略此步骤。

创建连接器

创建 HTTP 连接器,详情请参考HTTP 连接器

配置连接器基本信息和登录方式

连接器配置如下。

  • 连接器显示名称:设置为获取员工花名册字段信息
  • 连接器描述:设置为获取员工花名册字段信息
  • 域名:设置为api.dingtalk.com
  • 请求协议:设置为HTTPS
  • Base Url:设置为/
  • 身份验证类型:设置为钉钉开放平台验证

配置完成后,点击下一步,配置连接器执行动作。

配置连接器执行动作

新增执行动作。

配置基本信息。

基本信息配置如下。

  • 唯一标识:设置为getUserMessage
  • 动作名称:设置为获取员工花名册字段信息
  • 动作描述:设置为获取员工花名册字段信息

配置接口请求。

接口请求配置如下。

  • 请求地址:设置为v1.0/hrm/rosters/lists/query
  • 请求方法:设置为POST
  • Body:设置为如下
{
"userIdList" : "String",
"fieldFilterList" : "String",
"appAgentId" : 957064202,
"text2SelectConvert" : true
}
  • Headers:设置为Content-Type:application/json

解析 Body 并设置必填。

配置接口返回。

接口返回配置如下。

{
"result": [
{
"corpId": "dingfa0876060daae270bc961a6cb783455b",
"userId": "",
"fieldDataList": []
}
]
}

解析 Body 并配置成功标识位。

保存连接器配置

配置连接器鉴权模板

测试连接器

按照实际场景填写连接器参数后点击测试。

当 Status 返回 200OK 成功且 Body 无返回错误证明连接器配置正确且可用。

创建普遍表单页面

创建普通表单页面,详情请参考普通表单

在画布区域拖入以下组件。

  • 成员:命名为成员
  • 单行文本:命名为部门
  • 单行文本:命名为职位

创建数据源

配置成员组件事件

本例成员为单选模式,若使用多选模式需修改代码。

绑定下述函数:

export function onUserChange({ value }) {
if (!value) {
this.$('textField_lcijv9od').reset();
this.$('textField_lcijv9oe').reset();
return;
};
this.dataSourceMap.getUserMessage.load({
inputs: JSON.stringify({
Headers: {
'Content-Type': 'application/json',
},
Body: {
userIdList: [this.getUserId('employeeField_lcijg3rs')],
fieldFilterList: ['sys00-dept', 'sys00-position'],
appAgentId: '2345185741',
text2SelectConvert: true,
},
}),
}).then((res) => {
const { result = [] } = res;
if (result.length) {
const { fieldDataList = [] } = result[0];
const deptName = fieldDataList.filter((item) => {
return item.fieldCode === 'sys00-dept';
});
const position = fieldDataList.filter((item) => {
return item.fieldCode === 'sys00-position';
});
this.$('textField_lcijv9od').setValue(deptName[0].fieldValueList[0].value); // 部门
this.$('textField_lcijv9oe').setValue(position[0].fieldValueList[0].value); // 职位
} else {
this.utils.toast({
title: '获取员工花名册信息失败',
type: 'error',
});
}
}).catch((error) => {
this.utils.toast({
title: '请检查花名册的连接器是否配置正确.',
type: 'error',
});
})
}

/**
* 获取选择成员的 userId
* @param fieldId 成员组件唯一标识
*/
export function getUserId(fieldId = '') {
return fieldId ?
Array.isArray(this.$(fieldId).getValue()) ?
(this.$(fieldId).getValue() || []).length ?
this.$(fieldId).getValue()[0].value : ''
: (this.$(fieldId).getValue() || {}).value : '';
}

视频教程

在线试玩

Copyright © 2024钉钉(中国)信息技术有限公司和/或其关联公司浙ICP备18037475号-4