Skip to content

获取日程

调用该接口以当前身份(应用或用户)获取指定日历内的某一日程信息,包括日程的标题、时间段、视频会议信息、公开范围以及参与人权限等。

Tip: - 当前身份由 Header Authorization 的 Token 类型决定。tenant_access_token 指应用身份,user_access_token 指用户身份。

  • 当前身份必须对日历有 reader、writer 或 owner 权限。你可以调用查询日历信息接口,获取当前身份对该日历的访问权限。
  • 你可以通过 event_id 的时间戳后缀来获取例外日程的时间信息。例如,event_id 为 xxxxxxxxx_1602504000 的例外日程时间戳为 160250400。关于例外日程说明可参见日程资源介绍

请求

项目
HTTP URLhttps://open.feishu.cn/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id
HTTP MethodGET
接口频率限制1000 次/分钟、50 次/秒
支持的应用类型custom,isv
权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可calendar:calendar 更新日历及日程信息 calendar:calendar.event:read 读取日程信息 calendar:calendar:readonly 获取日历、日程及忙闲信息
字段权限要求> Tip: 该接口返回体中存在下列敏感字段,仅当开启对应的权限后才会返回;如果无需获取这些字段,则不建议申请 contact:user.employee_id:readonly 获取用户 user ID

请求头

名称类型必填描述
Authorizationstringtenant_access_tokenuser_access_token 值格式:"Bearer access_token" 示例值:"Bearer u-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token

路径参数

名称类型描述
calendar_idstring日程所在的日历 ID。关于日历 ID 可参见日历 ID 说明
示例值:"feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn"
event_idstring日程 ID。
创建日程时会返回日程 ID。你也可以调用以下接口获取某一日历的 ID。 - 获取日程列表 - 搜索日程
示例值:"xxxxxxxxx_0"

查询参数

名称类型必填描述
need_meeting_settingsboolean是否需要返回飞书视频会议(VC)的会前设置。需满足以下条件才可以获取到返回结果:
- 日程的会议类型(vc_type)需要是 vc。 - 需要有日程的编辑权限。
可选值有: - true:需要 - false(默认值):不需要
示例值:false
need_attendeeboolean是否需要返回参与人信息。
可选值有: - true:需要 - false(默认值):不需要
示例值:false
max_attendee_numint返回的最大参与人数量。调用获取日程参与人列表可获取日程完整的参与人信息。
示例值:10
默认值10
数据校验规则
- 最大值:100
user_id_typestring用户 ID 类型
示例值:open_id
可选值有
- open_id: 标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。了解更多:如何获取 Open ID - union_id: 标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。了解更多:如何获取 Union ID? - user_id: 标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。了解更多:如何获取 User ID?
默认值open_id
当值为 user_id,字段权限要求contact:user.employee_id:readonly 获取用户 user ID

响应

响应体

名称类型描述
codeint错误码,非 0 表示失败
msgstring错误描述
data\--
  └ eventcalendar.event日程的详细信息。
    └ event_idstring日程 ID。后续可通过该 ID 查询、更新或删除日程信息。更多信息可参见日程 ID 说明
    └ organizer_calendar_idstring日程组织者的日历 ID。关于日历 ID 可参见日历 ID 说明
    └ summarystring日程标题。
    └ descriptionstring日程描述。
    └ start_timetime_info日程开始时间。
      └ datestring开始时间,仅全天日程使用该字段,RFC 3339 格式,例如,2018-09-01。
      └ timestampstring秒级时间戳,指日程具体的开始时间。例如,1602504000 表示 2020/10/12 20:00:00(UTC +8 时区)。
      └ timezonestring时区。使用 IANA Time Zone Database 标准。
    └ end_timetime_info日程结束时间。
      └ datestring结束时间,仅全天日程使用该字段,RFC 3339 格式,例如,2018-09-01。
      └ timestampstring秒级时间戳,指日程具体的结束时间。例如,1602504000 表示 2020/10/12 20:00:00(UTC +8 时区)。
      └ timezonestring时区。使用 IANA Time Zone Database 标准。
    └ vchatvchat视频会议信息。
      └ vc_typestring视频会议类型,可以为空,表示在首次添加日程参与人时,会自动生成飞书视频会议 URL。
可选值有
- vc: 飞书视频会议。取该类型时,vchat 内的其他字段无效。 - third_party: 第三方链接视频会议。取该类型时,vchat 内仅生效 icon_type、description、meeting_url 字段。 - no_meeting: 无视频会议。取该类型时,vchat 内的其他字段无效。 - lark_live: 飞书直播,只读参数。 - unknown: 未知类型,用于兼容的只读参数。
      └ icon_typestring第三方视频会议 icon 类型,可以为空,表示展示默认 icon。
可选值有
- vc: 飞书视频会议 icon。 - live: 直播视频会议 icon。 - default: 默认 icon。
      └ descriptionstring第三方视频会议文案。
      └ meeting_urlstring视频会议 URL。
      └ meeting_settingsmeeting_settings飞书视频会议(VC)的会前设置。
        └ owner_idstring会议 owner 的用户 ID 信息。
        └ join_meeting_permissionstring设置入会范围。
可选值有
- anyone_can_join: 所有人可以加入会议。 - only_organization_employees: 仅企业内用户可以加入会议 - only_event_attendees: 仅日程参与者可以加入会议
        └ passwordstring(灰度中,仅部分租户可见)设置会议密码,仅支持 4-9 位数字
        └ assign_hostsstring\[\]主持人的用户 ID 信息。
        └ auto_recordboolean是否开启自动录制。
        └ open_lobbyboolean是否开启等候室。
        └ allow_attendees_startboolean是否允许日程参与者发起会议。
    └ visibilitystring日程公开范围。仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效。
可选值有
- default: 默认权限,跟随日历权限,即默认仅向他人显示是否忙碌 - public: 公开,显示日程详情 - private: 私密,仅自己可见详情
    └ attendee_abilitystring参与人权限。
可选值有
- none: 无法编辑日程、无法邀请其它参与人、无法查看参与人列表 - can_see_others: 无法编辑日程、无法邀请其它参与人、可以查看参与人列表 - can_invite_others: 无法编辑日程、可以邀请其它参与人、可以查看参与人列表 - can_modify_event: 可以编辑日程、可以邀请其它参与人、可以查看参与人列表
    └ free_busy_statusstring日程占用的忙闲状态。仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效。
可选值有
- busy: 忙碌 - free: 空闲
    └ locationevent_location日程地点。
      └ namestring地点名称。
      └ addressstring地点地址。
      └ latitudenumber(float)地点坐标纬度信息。 - 对于国内的地点,采用 GCJ-02 标准 - 对于海外的地点,采用 WGS84 标准
      └ longitudenumber(float)地点坐标经度信息。 - 对于国内的地点,采用 GCJ-02 标准 - 对于海外的地点,采用 WGS84 标准
    └ colorint日程颜色,由颜色 RGB 值的 int32 表示。
说明: - 仅对当前身份生效。 - 取值为 0 或 -1 时,表示默认跟随日历颜色。 - 客户端展示时会映射到色板上最接近的一种颜色。
    └ remindersreminder\[\]日程提醒列表。
      └ minutesint日程提醒时间的偏移量。该参数仅对当前身份生效。
- 正数时表示在日程开始前 X 分钟提醒。 - 负数时表示在日程开始后 X 分钟提醒。
    └ recurrencestring重复日程的重复性规则,规则格式可参见 rfc5545
    └ statusstring日程状态。
可选值有
- tentative: 未回应 - confirmed: 已确认 - cancelled: 日程已取消
    └ is_exceptionboolean日程是否是一个重复日程的例外日程。了解例外日程,可参见例外日程
    └ recurring_event_idstring例外日程对应的原重复日程的 event_id。
    └ create_timestring日程的创建时间(秒级时间戳)。
    └ schemasschema\[\]日程自定义信息,控制日程详情页的 UI 展示。
      └ ui_namestringUI 名称。可能值: - ForwardIcon:日程转发按钮 - MeetingChatIcon:会议群聊按钮 - MeetingMinutesIcon:会议纪要按钮 - MeetingVideo:视频会议区域 - RSVP:接受、拒绝、待定区域 - Attendee: 参与者区域 - OrganizerOrCreator:组织者或创建者区域
      └ ui_statusstringUI 项自定义状态。
可选值有
- hide: 隐藏显示 - readonly: 只读 - editable: 可编辑 - unknown: 未知 UI 项自定义状态,仅用于读取时兼容
      └ app_linkstring按钮点击后跳转的链接。
    └ event_organizerevent_organizer日程组织者信息。
      └ user_idstring日程组织者 user ID。
      └ display_namestring日程组织者姓名。
    └ app_linkstring日程的 app_link,跳转到具体的某个日程。
    └ attendeescalendar.event.attendee\[\]日程参与人信息。
      └ typestring参与人类型。
可选值有
- user: 用户 - chat: 群组 - resource: 会议室 - third_party: 邮箱
      └ attendee_idstring参与人 ID,日程参与人在当前日程内的唯一标识。
      └ rsvp_statusstring参与人 RSVP 状态,即日程回复状态。
可选值有
- needs_action: 参与人尚未回复状态,或表示会议室预约中 - accept: 参与人回复接受,或表示会议室预约成功 - tentative: 参与人回复待定 - decline: 参与人回复拒绝,或表示会议室预约失败 - removed: 参与人或会议室已经从日程中被移除
      └ is_optionalboolean参与人是否为可选参加,该参数值对群组的群成员不生效。
      └ is_organizerboolean参与人是否为日程组织者。
      └ is_externalboolean参与人是否为外部参与人。外部参与人不支持编辑。
      └ display_namestring参与人名称。
      └ chat_membersattendee_chat_member\[\]群中的群成员,当参与人类型(type)为 chat 时有效。群成员不支持编辑。
        └ rsvp_statusstring参与人 RSVP 状态,即日程回复状态。
可选值有
- needs_action: 参与人尚未回复状态,或表示会议室预约中 - accept: 参与人回复接受,或表示会议室预约成功 - tentative: 参与人回复待定 - decline: 参与人回复拒绝,或表示会议室预约失败 - removed: 参与人或会议室已经从日程中被移除
        └ is_optionalboolean参与人是否为可选参加。
        └ display_namestring参与人名称。
        └ is_organizerboolean参与人是否为日程组织者。
        └ is_externalboolean参与人是否为外部参与人。
      └ user_idstring用户类型参与人的用户 ID,ID 类型与 user_id_type 的值保持一致。关于用户 ID 可参见用户相关的 ID 概念
注意:当 is_external 返回为 true 时,此字段只会返回 open_id 或者 union_id。
      └ chat_idstring群组类型参与人的群组 ID。关于群组 ID 可参见群 ID 说明
      └ room_idstring会议室类型参与人的会议室 ID。
      └ third_party_emailstring外部邮箱类型参与人的邮箱地址。
      └ operate_idstring如果日程是使用应用身份创建的,在添加会议室时,指定的会议室联系人 ID。ID 类型与 user_id_type 的值保持一致。
    └ has_more_attendeeboolean是否有更多的参与人。
    └ attachmentsattachment\[\]日程附件
      └ file_tokenstring附件token
      └ file_sizestring附件大小
      └ namestring附件名称
    └ event_check_inevent_check_in日程签到设置。
      └ enable_check_inboolean是否启用日程签到。
      └ check_in_start_timecheck_in_time日程签到开始时间。
        └ time_typestring偏移量(分钟)相对于的日程时间节点类型。
可选值有
- before_event_start: 日程开始前 - after_event_start: 日程开始后 - after_event_end: 日程结束后
        └ durationint相对于日程开始或者结束的偏移量(分钟)。
      └ check_in_end_timecheck_in_time日程签到结束时间。
        └ time_typestring偏移量(分钟)相对于的日程时间节点类型。
可选值有
- before_event_start: 日程开始前 - after_event_start: 日程开始后 - after_event_end: 日程结束后
        └ durationint相对于日程开始或者结束的偏移量(分钟)。
      └ need_notify_attendeesboolean签到开始时是否自动发送签到通知给参与者

响应体示例

json
{
    "code": 0,
    "msg": "success",
    "data": {
        "event": {
            "event_id": "00592a0e-7edf-4678-bc9d-1b77383ef08e_0",
            "organizer_calendar_id": "feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn",
            "summary": "日程标题",
            "description": "日程描述",
            "start_time": {
                "date": "2018-09-01",
                "timestamp": "1602504000",
                "timezone": "Asia/Shanghai"
            },
            "end_time": {
                "date": "2018-09-01",
                "timestamp": "1602504000",
                "timezone": "Asia/Shanghai"
            },
            "vchat": {
                "vc_type": "third_party",
                "icon_type": "vc",
                "description": "发起视频会议",
                "meeting_url": "https://example.com",
                "meeting_settings": {
                    "owner_id": "ou_7d8a6e6df7621556ce0d21922b676706ccs",
                    "join_meeting_permission": "only_organization_employees",
                    "password": "971024",
                    "assign_hosts": [
                        "ou_7d8a6e6df7621556ce0d21922b676706ccs"
                    ],
                    "auto_record": false,
                    "open_lobby": true,
                    "allow_attendees_start": true
                }
            },
            "visibility": "default",
            "attendee_ability": "can_see_others",
            "free_busy_status": "busy",
            "location": {
                "name": "地点名称",
                "address": "地点地址",
                "latitude": 1.100000023841858,
                "longitude": 2.200000047683716
            },
            "color": -1,
            "reminders": [
                {
                    "minutes": 5
                }
            ],
            "recurrence": "FREQ=DAILY;INTERVAL=1",
            "status": "confirmed",
            "is_exception": false,
            "recurring_event_id": "1cd45aaa-fa70-4195-80b7-c93b2e208f45",
            "create_time": "1602504000",
            "schemas": [
                {
                    "ui_name": "ForwardIcon",
                    "ui_status": "hide",
                    "app_link": "https://applink.feishu.cn/client/calendar/event/detail?calendarId=xxxxxx&key=xxxxxx&originalTime=xxxxxx&startTime=xxxxxx"
                }
            ],
            "event_organizer": {
                "user_id": "ou_xxxxxx",
                "display_name": "孙二二"
            },
            "app_link": "https://applink.larkoffice.com/client/calendar/event/detail?calendarId=7039673579105026066&key=aeac9c56-aeb1-4179-a21b-02f278f59048&originalTime=0&startTime=1700496000",
            "attendees": [
                {
                    "type": "user",
                    "attendee_id": "user_xxxxxx",
                    "rsvp_status": "accept",
                    "is_optional": false,
                    "is_organizer": true,
                    "is_external": false,
                    "display_name": "张三",
                    "chat_members": [
                        {
                            "rsvp_status": "accept",
                            "is_optional": true,
                            "display_name": "zhangsan",
                            "is_organizer": false,
                            "is_external": false
                        }
                    ],
                    "user_id": "ou_8bfcecaf02c9d8d026de984db04cf5b9",
                    "chat_id": "oc_a0553eda9014c201e6969b478895c230",
                    "room_id": "omm_83d09ad4f6896e02029a6a075f71c9d1",
                    "third_party_email": "test@example.com",
                    "operate_id": "4d7a3c6g"
                }
            ],
            "has_more_attendee": false,
            "attachments": [
                {
                    "file_token": "xAAAAA",
                    "file_size": "2345",
                    "name": "附件.jpeg"
                }
            ],
            "event_check_in": {
                "enable_check_in": true,
                "check_in_start_time": {
                    "time_type": "before_event_start",
                    "duration": 15
                },
                "check_in_end_time": {
                    "time_type": "after_event_end",
                    "duration": 0
                },
                "need_notify_attendees": false
            }
        }
    }
}

错误码

HTTP状态码错误码描述排查建议
400190002invalid parameters in request无效的请求参数。排查建议如下: - 确认请求参数的字段名称、传参类型正确。 - 确认已经申请了相应资源的权限。 - 确认相应资源未被删除。
500190003internal service error内部服务错误,请咨询技术支持
429190004method rate limited方法频率限制。建议稍后再试,并适当减小请求 QPS。
429190005app rate limited应用频率限制。建议稍后再试,并适当减小请求 QPS。
403190006wrong unit for app tenant请求错误,检查应用 App ID 和 App Secret 是否正确。如仍无法解决请咨询技术支持
404190007app bot_id not found应用的 bot_id 没有找到。你需要确保应用开启了机器人能力。如仍未解决请咨询技术支持
429190010current operation rate limited当前操作被限流,原因一般为公用资源并发抢占失败。你可以适当降低当前操作频率,然后重试。
403190011tenant encrypt key has been deleted加解密状态的自主密钥被删除,被该秘钥加密的数据不可用。
403190012tenant decrypt key has been deleted仅解密状态的自主密钥被删除,被该秘钥加密的数据不可用。
400190014invalid request parameters. check details for more info.无效的请求参数。请从details字段查看详细原因。
404191000calendar not found日历没有找到。你需要检查并改为正确的日历 ID。
400191001invalid calendar_id日历没有找到。你需要检查并改为正确的日历 ID。
403191002no calendar access_role当前身份没有日历的访问权限。如需查询某一日历信息,则需要确保当前身份拥有该日历的访问权限。
403191003calendar is deleted日历已经被删除。你需要检查并改为正确的日历 ID。
403191004invalid calendar type日历类型错误。你可以调用查询日历信息接口获取日历类型信息,然后确保日历类型适用于当前接口。
400193000invalid event_idevent_id 无效。你需要检查并改为正确的日程 ID。
404193001event not found日程未找到。你需要确保传入了正确的日程 ID。
403193002no permission to operate event无权限操作。你需要确保有日历以及日程的编辑权限。
403193003event is deleted日程已经被删除。你需要检查并改为正确的日程 ID。
403194001no permission to list event attendees无操作权限。检查 calendar_id 是否是当前日程组织者日历,或者组织者是否有查看参与人的权限。
404195100user is dismiss or not exist in the tenant当前身份或指定用户已经离职,或者不在该租户内。请检查并改为正确的身份来调用接口。

更多错误码信息,参见通用错误码

内容来源:飞书开放平台 · 自动爬取整理