输入“/”快速插入内容

如何将其他系统的日程同步到飞书日历上?

日程是每个用户在处理工作时都非常关注的内容,它为我们清晰的展现每天的工作安排,同事之间根据日程忙闲的展示,可以更好地组织会议、沟通,发挥协作价值。
企业中存在多个系统都存在日程功能,例如:招聘系统的招聘日程、会议室系统的会议日程、Outlook邮箱的邮箱日程等等。这样多个系统中分散存放日程的情况,会导致员工无法有效掌握自己实际的日程安排,更甚至有可能在同一时间在不同系统中预约多个会议造成日程冲突,耽误工作。
飞书日历旨在帮助您构建企业的统一日程入口,通过日历的产品功能和开放能力将其他系统的日程同步到飞书日历中。本文将带您了解,如何将其他系统的日程同步到飞书日历上,助您打造日程的统一管理。
Outlook以及Google日历同步功能可直接在飞书日历中配置,本文不展开,详见:「Outlook日历同步」及「Google日历同步」。
效果展示
适用场景:
招聘系统的招聘日程、会议室系统的会议日程、人力系统的休假日程等内部系统日程同步需求。
具体方案
1.
理解日历日程:两者的关系决定了后续的工作
日历与日程呈现如下的多对多关系:
一个日历上可以存在多个日程
同一个日程可以对应出现在多个日历上(用户日历可以简单理解为前端看到的日历面板)
除公共日历外,应用无法操作用户的日历,也无法操作其他应用创建的日历,但可以预定包含用户的日程,并在用户日历上显示。
因此,不是必然需要去获取用户的日历,如果需要确定用户日历在相应时间段是否空闲,可以使用「查询日历的忙闲状态」接口确认。
2.
开发准备任务:机器人应用及基础数据创建
创建机器人应用
a.
飞书开放平台 上创建企业自建应用,并打开机器人能力,在「权限管理」tab中勾选「访问日历」的权限。(此处可根据实际需求,增选其他权限能力)
b.
创建应用版本号,并完成应用发布。
会议室基础数据创建(如需)
包括「创建」与「废弃/删除」互为镜像的两部分,主要基础数据如附录,可在此基础上进行数据库表结构设计。
基础数据字段快捷链接:基础数据字段表
3.
预定日程开发:通过开放平台接口预定日程
创建属于应用的日历
由于日历与日程的对应关系,因此每一个同步日程的应用,都需要在同步前创建日历。同时,由于一个应用可以具备多个日历。因此可以提前根据需要同步日程的不同系统做规划,每个系统对应一个应用日历,并且在创建日历后记录对应返回的日历ID,从而便于后续管理。
同步日程数据
相应系统将日程数据同步到时,需要通过应用进行日程创建。分为以下几步:
a.
查询用户日程忙闲:基于此接口查询用户在相应特定时间点的忙闲情况;
b.
创建日程:基于此接口创建日程,需注意的是此环节以应用身份进行日程同步时,仅创建日程还没有管理日程的参与方,因此不会出现在用户的日历上;
c.
增加日程参与者及会议室:基于此接口添加日程参与者与会议室,但需要说明,添加时需要根据不同的对象设置不同参数,参考类型说明
i.
会议室:会议室作为日程的资源,需要传入会议室ID,会议室信息维护方式参见上文
ii.
单个参与者:支持通过人员user_id、open_id、union_id添加日程参与者;
iii.
群组参与者:支持通过群组chat_id将整个群组人员添加为日程参与者;
d.
若已开启“第三方会议室同步”的会议室,会议室预定结果会由客户的会议室管理系统决定,因此需要增加一步,调用回复会议室实例的接口,确认此会议室预定成功;
e.
记录日程ID:将已预约的日程ID记录在表单中,以备后续可能存在的调整或审计;
管理预约日程
获取日程列表:可以基于日历id获取该应用日历上的日程情况,从而进行分系统的日程管理;
更新日程时间:若需要针对已有日程进行更新,需要利用已有的日程ID;
删除日程:若日程不再进行,则调用此接口删除;
修改日程参与人:若日程参与人需要调整,则需要根据添加删除调用对应接口修改,需注意此接口也只能修改由应用创建的日程并需要利用已有的日程ID;