Skip to content

查询日程视图

调用该接口以用户身份查询指定日历下的日程视图。与获取日程列表不同的是,当前接口会按照重复日程的重复性规则展开成多个日程实例(instance),并根据查询的时间区间返回相应的日程实例信息。

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

  • 当前身份必须对日历有 reader、writer 或 owner 权限,且仅支持获取 primary、shared 类型的日历的日程列表,暂不支持 google、exchange 类型的日历。你可以调用查询日历信息接口,获取当前身份对该日历的访问权限以及日历类型信息。
  • 查询日程视图所获取到的日程实例数量上限小于 1000。

请求

项目
HTTP URLhttps://open.feishu.cn/open-apis/calendar/v4/calendars/:calendar_id/events/instance_view
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_HF9U2MbibE8PPpjro6xjqa@group.calendar.feishu.cn"

查询参数

名称类型必填描述
start_timestring开始时间,Unix 时间戳,单位为秒。该参数与 end_time 用于设置查询的时间范围。
注意:start_time 与 end_time 之间的时间区间需要小于 40 天。
示例值:1631777271
end_timestring结束时间,Unix 时间戳,单位为秒。该参数与 start_time 用于设置查询的时间范围。
注意:start_time 与 end_time 之间的时间区间需要小于 40 天。
示例值:1631777271
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\--
  └ itemsinstance\[\]日程 instance 列表。
    └ event_idstring日程 instance 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 标准。
    └ statusstring日程状态。
可选值有
- tentative: 未回应 - confirmed: 已确认 - cancelled: 日程已取消
    └ is_exceptionboolean日程是否是重复日程的例外日程。了解例外日程,可参见例外日程
    └ app_linkstring日程的 app_link,用于跳转到具体的某个日程。
    └ organizer_calendar_idstring日程组织者的日历 ID。关于日历 ID 可参见日历 ID 说明
    └ vchatvchat视频会议信息。仅当日程至少有一位参与人时生效。
      └ vc_typestring视频会议类型。
可选值有
- vc: 飞书视频会议 - third_party: 第三方链接视频会议 - no_meeting: 无视频会议 - lark_live: 飞书直播 - unknown: 未知类型
      └ icon_typestring第三方视频会议 icon 类型。
可选值有
- vc: 飞书视频会议 icon - live: 直播视频会议 icon - default: 默认 icon
      └ descriptionstring第三方视频会议文案。
      └ meeting_urlstring视频会议 URL。
    └ 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 时,表示默认跟随日历颜色。 - 客户端展示时会映射到色板上最接近的一种颜色。
    └ recurring_event_idstring例外日程对应的原重复日程的 event_id。
    └ event_organizerevent_organizer日程组织者信息。
      └ user_idstring日程组织者 user ID。
      └ display_namestring日程组织者姓名。
    └ 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 的值保持一致。
      └ resource_customizationcalendar.attendee.resource_customization\[\]会议室的个性化配置。
        └ index_keystring每个配置的唯一 ID。
        └ input_contentstring填空类型的取值。
        └ optionscustomization.option\[\]每个配置的选项。
          └ option_keystring每个选项的唯一 ID。
          └ others_contentstring其他选项类型的取值。
      └ approval_reasonstring会议室的审批原因。

响应体示例

json
{
    "code": 0,
    "msg": "success",
    "data": {
        "items": [
            {
                "event_id": "75d28f9b-e35c-4230-8a83-4a661497db54_1602504000",
                "summary": "日程主题",
                "description": "desc",
                "start_time": {
                    "date": "2018-09-01",
                    "timestamp": "1602504000",
                    "timezone": "Asia/Shanghai"
                },
                "end_time": {
                    "date": "2018-09-01",
                    "timestamp": "1602504400",
                    "timezone": "Asia/Shanghai"
                },
                "status": "confirmed",
                "is_exception": false,
                "app_link": "https://applink.larkoffice.com/client/calendar/event/detail?calendarId=7039673579105026066&key=aeac9c56-aeb1-4179-a21b-02f278f59048&originalTime=0&startTime=1700496000",
                "organizer_calendar_id": "feishu.cn_HF9U2MbibE8PPpjro6xjqa@group.calendar.feishu.cn",
                "vchat": {
                    "vc_type": "vc",
                    "icon_type": "vc",
                    "description": "发起视频会议",
                    "meeting_url": "vc.feishu.cn/j/152568231"
                },
                "visibility": "default",
                "attendee_ability": "none",
                "free_busy_status": "busy",
                "location": {
                    "name": "地点名称",
                    "address": "地点地址",
                    "latitude": 1.100000023841858,
                    "longitude": 2.200000047683716
                },
                "color": 0,
                "recurring_event_id": "75d28f9b-e35c-4230-8a83-4a661497db54_0",
                "event_organizer": {
                    "user_id": "ou_xxxxxx",
                    "display_name": "孙二二"
                },
                "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": true,
                                "is_external": false
                            }
                        ],
                        "user_id": "ou_xxxxxxxx",
                        "chat_id": "oc_a0553eda9014c201e6969b478895c230",
                        "room_id": "omm_83d09ad4f6896e02029a6a075f71c9d1",
                        "third_party_email": "test@example.com",
                        "operate_id": "4d7a3c6g",
                        "resource_customization": [
                            {
                                "index_key": "16281481596100",
                                "input_content": "xxx",
                                "options": [
                                    {
                                        "option_key": "16281481596185",
                                        "others_content": "xxxx"
                                    }
                                ]
                            }
                        ],
                        "approval_reason": "申请审批原因"
                    }
                ]
            }
        ]
    }
}

错误码

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 没有找到。你需要确保应用开启了机器人能力。如仍未解决请咨询技术支持
400190008page_token or sync_token expiredpage_token 或 sync_token 已过期。你需要置空 token 参数值,然后重试。
429190010current operation rate limited当前操作被限流,原因一般为公用资源并发抢占失败。你可以适当降低当前操作频率,然后重试。
403190011tenant encrypt key has been deleted加解密状态的自主密钥被删除,被该秘钥加密的数据不可用。
403190012tenant decrypt key has been deleted仅解密状态的自主密钥被删除,被该秘钥加密的数据不可用。
404191000calendar not found日历没有找到。你需要检查并改为正确的日历 ID。
400191001invalid calendar_idcalendar_id 无效。你需要检查并改为正确的日历 ID。
403191002no calendar access_role当前身份没有日历的访问权限。如需查询某一日历信息,则需要确保当前身份拥有该日历的访问权限。
403191003calendar is deleted日历已经被删除。你需要检查并改为正确的日历 ID。
403191004invalid calendar type日历类型错误。你可以调用查询日历信息接口获取日历类型信息,然后确保日历类型适用于当前接口。
400193103requested time exceeds the allowed range超出时间范围限制。你需要检查传入的起止时间跨度。时间跨度不能超过 40 天。
400193104exceeded the maximum instance number超出实例最大数量限制。传入的时间区间内的日程实例数量超过了 1000,建议缩小时间区间范围。
404195100user is dismiss or not exist in the tenant当前身份或指定用户已经离职,或者不在该租户内。请检查并改为正确的身份来调用接口。

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

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