更新日期:     浏览次数:

1. 云之家oauth2.0授权协议

云之家对外开放的接口都需要通过云之家OAuth2.0授权协议获取到accessToken进行授权后才能访问,目前云之家接口资源授权级别可分为三大类,分别为app,team,resGroupSecret。

1.1. 接口调用流程示意图

开发者轻应用开发注意事项:

云之家开放平台接口面向的是服务端调用,如果直接通过HTML端JS请求:

  1. 会有ajax跨域问题;
  2. 如果把相关密钥信息配置于前端JS或配置文件极容易导致信息泄漏造成不可挽回的后果;

云之家标准接口调用流程示意图如下:

接口调用流程示意图

1.2. API与授权级别对照表

不同业务对应的接口资源授权级别,请参考下表:

接口名称 api接口 授权级别scope
获取用户上下文信息 /gateway/ticket/user/acquirecontext/... app
轻应用获取组织与人员信息 /gateway/opendata-control/data/... app
待办消息 /gateway/newtodo/open/... app
报表秀秀 /gateway/linkerp/... team
审批 /gateway/workflow/... team
通讯录同步 /gateway/openimport/open/... resGroupSecret
签到 /gateway/attendance/data/... resGroupSecret
时间助手 /gateway/cloudwork/newwork/... resGroupSecret
生态圈 /gateway/open/linkspace/... resGroupSecret

1.3. 获取accessToken接口

描述: 获取对应业务接口的授权accessToken;

注意:
  • accessToken的有效时间为7200秒,建议开发者将其缓存使用;
  • 授权级别不同,获取accessToken接口的输入参数也是不同的,请开发者参照API与授权级别对照表填写输入参数;
  • 相同授权级别的接口资源,只需获取一次accessToken即可。例如获取一次app授权级别的accessToken,可用此accessToken鉴权获取用户上下文信息接口、轻应用获取组织与人员信息接口、待办消息接口;

网络传输协议: HTTPS

请求地址: https://www.yunzhijia.com/gateway/oauth2/token/getAccessToken

请求方法: POST

内容类型: Content-Type: application/json

输入参数:

  • 授权级别为app时,接口请求参数如下:
字段 类型 是否必填 说明
appId String 轻应用id
secret String 轻应用secret,即appsecret
timestamp long 当前北京时间,Unix格式13位时间戳,精确到毫秒,3分钟内有效。
scope String 授权级别:app

JSON示例:

{
    "appId": "xxxxxx",
    "secret": "轻应用secret",
    "timestamp": 1522305194157,
    "scope": "app"
}
  • 授权级别为resGroupSecret时,接口请求参数如下:
字段 类型 是否必填 说明
eid String 团队id
secret String 组织人员通讯录读取密钥、组织人员通讯录同步密钥、签到数据密钥、时间助手密钥、
生态圈同步密钥,获取方法参见根据管理员账号信息获取资源授权密钥
timestamp long 当前北京时间,Unix格式13位时间戳,精确到毫秒,3分钟内有效。
scope String 授权级别:resGroupSecret

JSON示例:

{
    "eid": "xxxxxx",
    "secret": "资源授权秘钥secret",
    "timestamp": 1522305194157,
    "scope": "resGroupSecret"
}
  • 授权级别为team时,接口请求参数如下:
字段 类型 是否必填 说明
appId String 轻应用id
eid String 团队id
secret String 轻应用secret,即appsecret
timestamp long 当前北京时间,Unix格式13位时间戳,精确到毫秒,3分钟内有效。
scope String 授权级别:team

JSON示例:

{
    "appId": "xxxxxx",
    "eid": "xxxxxx",
    "secret": "轻应用secret",
    "timestamp": 1522305194157,
    "scope": "team"
}

输出结果:

{
  "data": {
      "accessToken":"accessToken",
      "expireIn":有效时间(秒),
      "refreshToken":"token刷新令牌"
  },
  "errorCode": 0,
  "success": true
}

1.4. 刷新accessToken

描述: 企业开发者通过获取accessToken接口得到token刷新令牌,刷新accessToken;

网络传输协议: HTTPS

请求地址:https://www.yunzhijia.com/gateway/oauth2/token/refreshToken

请求方法:POST

内容类型:application/json

输入参数:

  • 授权级别为app时,接口请求参数如下:
字段 类型 是否必填 说明
appId String 轻应用id
refreshToken String token刷新令牌,由获取accessToken接口得到
timestamp String 当前北京时间,Unix格式13位时间戳,精确到毫秒,3分钟内有效。
scope String 授权级别:app
  • 授权级别为team时,接口请求参数如下:
字段 类型 是否必填 说明
appId String 轻应用id
eid String 团队id
refreshToken String token刷新令牌,由获取accessToken接口得到
timestamp String 当前北京时间,Unix格式13位时间戳,精确到毫秒,3分钟内有效。
scope String 授权级别:team
  • 授权级别为resGroupSecret时,接口请求参数如下:
字段 类型 是否必填 说明
eid String 团队id
refreshToken String token刷新令牌,由获取accessToken接口得到
timestamp String 当前北京时间,Unix格式13位时间戳,精确到毫秒,3分钟内有效。
scope String 授权级别:resGroupSecret

输出结果:

{
  "data": {
      "accessToken":"accessToken",
      "expireIn":有效时间(秒),
      "refreshToken":"token刷新令牌"
  },
  "errorCode": 0,
  "success": true
}

1.5. FAQ


results matching ""

    No results matching ""