企业授权
企业授权为应用授权的一种,企业管理员授权第三方应用获取企业相关数据。
授权流程
由系统管理员对第三方应用进行的授权,如获取企业通讯录的管理权限、角色配置权限、审核日志的查询权限等,此类授权一般需要获取管理员角色相关的权限。通过企业授权获取access_token,第三方应用可以在业务系统中的对应场景操作以上管理员才具备的数据权限。

(企业授权时序图)
接口说明
获取企业授权凭证access_token 获取已授权的企业类型权限对应的access_token信息。(此处的access_token是企业超管授权第三方应用访问企业资源的凭证) 注意:企业授权凭证access_token有效期24小时,过期后可重新获取新的access_token。
请求说明
| 请求地址 | 配置域名+/o+/oauth+/v1/token |
|---|---|
| 请求方法 | POST |
| 签名方式 | WPS-4签名(url仅签名/v1/token部分) |
| 权限要求 | 无 |
请求头(Header)
| 名称 | 是否必须 | 说明 |
|---|---|---|
| Content-Type | 是 | 固定为:application/x-www-form-urlencoded |
| Wps-Docs-Date | 是 | 取当前时间,示例:Wed, 23 Jan 2013 06:43:08 GMT |
| Wps-Docs-Authorization | 是 | Authorization计算方法参考《签名说明》 |
请求体(Body)
| 参数 | 参数类型 | 是否必填 | 说明 |
|---|---|---|---|
| grant_type | string | 是 | 授权类型,client_credentials:客户端模式 |
| scope | string | 是 | 权限项 |
| company_id | string | 否 | 企业id,多租户下的企业必传 |
响应体(Response)
| 名称 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,非0表示失败,参照《状态码说明》 |
| msg | string | 错误信息,成功时统一为Success |
| data | object | |
| ∟token | object | 凭证信息 |
| ∟access_token | string | 访问凭证 |
| ∟token_type | string | 固定为Bearer |
| ∟expires_in | integer | 凭证有效期,单位为秒 |
| access_token | string | 访问凭证 |
| token_type | string | 固定为Bearer |
| expires_in | integer | 凭证有效期,单位为秒 |
响应体示例
json
{
"code": 0,
"data": {
"token": {
"access_token": "ACCESSTOKEN",
"token_type": "Bearer",
"expires_in": "EXPIRES"
}
},
"access_token": "ACCESSTOKEN",
"token_type": "Bearer",
"expires_in": "EXPIRES"
}接入流程-获取开放能力
拿“批量查询用户”接口举例:
请求说明
请求地址: 配置域名+/graph+/v7/users/batch_read请求方法: POST 签名方式: WPS-4签名/WPS-4-GM签名(配置域名+/graph不参与签名)
请求头(Header)
| 名称 | 是否必填 | 说明 |
|---|---|---|
| Content-Type | 是 | 固定为: application/json |
| Wps-Docs-Date | 是 | 取当前时间, 示例: Wed, 23 Jan 2013 06:43:08 GMT |
| Wps-Docs-Authorization | 是 | 计算方法参考签名说明 |
| Authorization | 是 | 授权token,格式:Bearer ${access_token},${access_token}需替换为从授权接口获取的access_token值 |
请求体(Body)
| 名称 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| status | object[] | 是 | 用户状态,可选值: active - 正常 notactive - 未激活 disabled - 禁用 |
| user_ids | object[] | 是 | 用户id列表,长度不超过50 |
| with_dept | boolean | 否 | true: 返回部门信息 false: 不返回部门信息 默认为:false |
请求体示例
json
{
"status": ["active"],
"user_ids": ["01", "02"],
"with_dept": true
}响应体(Response)
| 名称 | 类型 | 说明 |
|---|---|---|
| code | integer | code |
| detail | string | detail |
| msg | string | msg |
| data | object | 返回信息体 |
| ∟ items | object[] | 用户信息 |
| ∟ avatar | string | 头像 |
| ∟ ctime | integer | 创建时间,时间戳,单位为秒 |
| ∟ depts | object[] | 部门信息 |
| ∟ abs_path | string | 绝对路径 |
| ∟ id | string | 部门id.字符串长度不超过20位 |
| ∟ name | string | 部门名称.字符串长度不超过128位 |
| string | 邮箱.字符串长度不超过128位 | |
| ∟ employee_id | string | 工号.字符串长度不超过32位 |
| ∟ ex_user_id | string | 用户外部id,可以是用户ID、用户名、邮箱、手机号、外部ID、在外部身份源的ID,为空则默认为用户id.字符串长度不超过128位 |
| ∟ gender | object | 性别 |
| ∟ id | string | 用户id,自动生成.字符串长度不超过128位 |
| ∟ login_name | string | 登录名.字符串长度不超过128位 |
| ∟ phone | string | 手机 |
| ∟ status | object | 用户状态 |
| ∟ telephone | string | 座机.字符串长度不超过32位 |
| ∟ title | string | 职务信息.字符串长度不超过128位 |
| ∟ user_name | string | 用户名.字符串长度不超过128位 |
| ∟ work_place | string | 办公地点.字符串长度不超过128位 |
响应体示例
json
{
"code": 0,
"detail": "string",
"msg": "string",
"data": {
"items": [
{
"avatar": "string",
"ctime": 0,
"depts": [
{
"abs_path": "string",
"id": "string",
"name": "string"
}
],
"email": "user@example.com",
"employee_id": "string",
"ex_user_id": "string",
"gender": "string",
"id": "string",
"login_name": "string",
"phone": "string",
"status": "string",
"telephone": "string",
"title": "string",
"user_name": "string",
"work_place": "string"
}
]
}
}