项目、成员及标签维护
使用身份:管理员账号个人身份 Token(grant_type=mobile),管理员的 integrationId 来自场景 1 同步的员工数据。
业务背景:集成开发方业务系统存在项目模块,需要在 企业看图 中同步创建对应项目空间,维护项目成员、项目标签,后续项目空间上传图纸模型。
前置条件: ①管理员账号已完成同步;②如需要标签功能,标签提前创建完成;③参与项目的普通员工全部已经同步进 SView。
详细调用流程
- 获取管理员个人 Access Token 接口:
POST /auth/oauth2/token- Header:Authorization 填
Basic base64(clientId:clientSecret),Content‑Type 为application/x‑www‑form‑urlencoded,携带公共 Header; - Body 表单参数:
grant_type=mobile、scope=server,mobile=INTEGRATION@{管理员integrationId}; - 获取返回
access_token、refresh_token、expires_in,集成开发方缓存令牌,同时保存 refresh_token 用于后续刷新。
- Header:Authorization 填
- 【可选】创建业务标签(业务需要标签分类时执行) 接口:
POST /login‑register/open‑api/tags- Header:
Bearer {管理员access_token}+ 公共 Header,json 格式; - Body 入参:name 标签名(最多 5 字符),tagCode 集成开发方标签唯一编码,sort 排序,enName 英文名称,description 描述;
- 返回标签 id;保存 tagCode,后续绑定项目使用。
- Header:
- 创建 SView 项目 接口:
POST /login‑register/open‑api/projects- Header:
Bearer {管理员access_token}+ 公共 Header,json; - Body 入参:
- projectName:项目名称;
- projectCode:集成开发方系统项目唯一编码,非常关键,后续大量接口依赖此字段;
- projectDescribe:项目描述;
- projectVisibility:
0仅指定成员可见 /1企业全部成员可见; - integrationIds【可选】:创建项目同时直接加入成员,多个用户 integrationId 英文逗号隔开;
- 成功 code=0,无 data 返回。
- Header:
- 【可选】追加项目成员(项目已经创建,后续新增人员进入项目) 接口:
POST /login‑register/open‑api/projects/{projectCode}/members- 路径变量
projectCode:集成开发方项目外部编码; - Body 入参
integrationIds:待加入成员 integrationId,多个逗号分隔; - 注意:成员必须是已经同步到 SView 系统的账号。
- 路径变量
- 【可选】为项目绑定标签(全量覆盖模式) 接口:
POST /login‑register/open‑api/projects/{projectCode}/tags- 路径变量 projectCode 为外部项目编码;
- Body 入参
tagCodes:需要绑定的标签编码集合,多个英文逗号分隔; - ⚠️重点:接口为全量覆盖,传入哪些 tagCodes,项目就只保留这些标签;传空字符串会清空项目全部已有标签。
集成开发方留存关键数据
- projectCode(集成开发方外部项目编码,项目空间上传文件、预览、分享均使用)
高频踩坑说明
- projectVisibility 传非 0/1 的值,业务报错;
- 添加项目成员时传入未同步的 integrationId,接口业务失败;
- 调用绑定标签接口误以为是增量追加标签,原有标签被意外清空。