Skip to content

企业授权

企业授权为应用授权的一种,企业管理员授权第三方应用获取企业相关数据。

授权流程

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

XZTY20230531-163844.png

(企业授权时序图)

接口说明

获取企业授权凭证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-AuthorizationAuthorization计算方法参考《签名说明》

请求体(Body)

参数参数类型是否必填说明
grant_typestring授权类型,client_credentials:客户端模式
scopestring权限项
company_idstring企业id,多租户下的企业必传

响应体(Response)

名称类型说明
codeinteger状态码,非0表示失败,参照《状态码说明》
msgstring错误信息,成功时统一为Success
dataobject
∟tokenobject凭证信息
∟access_tokenstring访问凭证
∟token_typestring固定为Bearer
∟expires_ininteger凭证有效期,单位为秒
access_tokenstring访问凭证
token_typestring固定为Bearer
expires_ininteger凭证有效期,单位为秒

响应体示例

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)
名称类型是否必填说明
statusobject[]用户状态,可选值: active - 正常 notactive - 未激活 disabled - 禁用
user_idsobject[]用户id列表,长度不超过50
with_deptbooleantrue: 返回部门信息 false: 不返回部门信息 默认为:false
请求体示例
json
{
  "status": ["active"],
  "user_ids": ["01", "02"],
  "with_dept": true
}
响应体(Response)
名称类型说明
codeintegercode
detailstringdetail
msgstringmsg
dataobject返回信息体
   itemsobject[]用户信息
     avatarstring头像
     ctimeinteger创建时间,时间戳,单位为秒
     deptsobject[]部门信息
       abs_pathstring绝对路径
       idstring部门id.字符串长度不超过20位
       namestring部门名称.字符串长度不超过128位
     emailstring邮箱.字符串长度不超过128位
     employee_idstring工号.字符串长度不超过32位
     ex_user_idstring用户外部id,可以是用户ID、用户名、邮箱、手机号、外部ID、在外部身份源的ID,为空则默认为用户id.字符串长度不超过128位
     genderobject性别
     idstring用户id,自动生成.字符串长度不超过128位
     login_namestring登录名.字符串长度不超过128位
     phonestring手机
     statusobject用户状态
     telephonestring座机.字符串长度不超过32位
     titlestring职务信息.字符串长度不超过128位
     user_namestring用户名.字符串长度不超过128位
     work_placestring办公地点.字符串长度不超过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"
      }
    ]
  }
}