# 获取重复日程实例

调用该接口以当前身份（应用或用户）获取指定日历中的某一重复日程信息。
**注意事项**：当前身份由 Header Authorization 的 Token 类型决定。tenant_access_token 指应用身份，user_access_token 指用户身份。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id/instances
HTTP Method | GET
接口频率限制 | [1000 次/分钟、50 次/秒](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 更新日历及日程信息(calendar:calendar)<br>读取日程信息(calendar:calendar.event:read)<br>获取日历、日程及忙闲信息(calendar:calendar:readonly)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>或<br>`user_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer u-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)

### 路径参数

名称 | 类型 | 描述
---|---|---
calendar_id | string | 日历 ID。关于日历 ID 可参见[日历 ID 说明](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction)。<br>**示例值**："feishu.cn_HF9U2MbibE8PPpjro6xjqa@group.calendar.feishu.cn"
event_id | string | 日程 ID。<br>创建日程时会返回日程 ID。你也可以调用以下接口获取某一日历的 ID。<br>- [获取日程列表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/list)<br>- [搜索日程](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/search)<br>**示例值**："75d28f9b-e35c-4230-8a83-4a661497db54_0"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
start_time | string | 是 | 开始时间，Unix 时间戳，单位为秒。该参数与 end_time 用于设置时间范围，即重复日程的查询区间为 （start_time, end_time）<br>**注意**：start_time 与 end_time 之间的时间区间不能超过 2年。<br>**示例值**：1631777271
end_time | string | 是 | 结束时间，Unix 时间戳，单位为秒。该参数与 start_time 用于设置时间范围，即重复日程的查询区间为 （start_time, end_time）<br>**注意**：start_time 与 end_time 之间的时间区间不能超过 2年。<br>**示例值**：1631777271
page_size | int | 否 | 一次调用返回的日程数量上限。<br>**示例值**：10<br>**默认值**：`50`<br>**数据校验规则**：<br>- 取值范围：`10` ～ `500`
page_token | string | 否 | 分页标记，第一次请求不填，表示从头开始遍历；分页查询结果还有更多项时会同时返回新的 page_token，下次遍历可采用该 page_token 获取查询结果<br>**示例值**：eVQrYzJBNDNONlk4VFZBZVlSdzlKdFJ4bVVHVExENDNKVHoxaVdiVnViQT0=

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
items | instance\[\] | 重复日程的日程 instance 列表。
event_id | string | 日程实例 ID。<br>**注意**：重复日程实例的 ID 与其他日程 ID 不同，其 ID 包含了实例原始时间（Original time），数据格式为秒级时间戳。例如：`2cf525f0-1e67-4b04-ad4d-30b7f003903c_1713168000`，其中 `1713168000` 即为实例原始时间。
summary | string | 日程主题。
description | string | 日程描述。
start_time | time_info | 日程开始时间。
date | string | 开始时间，仅全天日程使用该字段，[RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) 格式，例如，2018-09-01。
timestamp | string | 秒级时间戳，指日程具体的开始时间。例如，1602504000 表示 2020/10/12 20:00:00（UTC +8 时区）。
timezone | string | 时区。使用 IANA Time Zone Database 标准。
end_time | time_info | 日程结束时间。
date | string | 结束时间，仅全天日程使用该字段，[RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) 格式，例如，2018-09-01。
timestamp | string | 秒级时间戳，指日程具体的结束时间。例如，1602504000 表示 2020/10/12 20:00:00（UTC +8 时区）。
timezone | string | 时区。使用 IANA Time Zone Database 标准。
status | string | 日程状态。<br>**可选值有**：<br>- tentative：未回应<br>- confirmed：已确认<br>- cancelled：日程已取消
is_exception | boolean | 日程是否是重复日程的例外日程。了解例外日程，可参见[例外日程](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction#71c5ec78)。
app_link | string | 日程的 app_link，用于跳转到具体的某个日程。
location | event_location | 日程地点。
name | string | 地点名称。
address | string | 地点地址。
latitude | number(float) | 地点坐标纬度信息。<br>- 对于国内的地点，采用 GCJ-02 标准<br>- 对于海外的地点，采用 WGS84 标准
longitude | number(float) | 地点坐标经度信息。<br>- 对于国内的地点，采用 GCJ-02 标准<br>- 对于海外的地点，采用 WGS84 标准
page_token | string | 分页标记，当 has_more 为 true 时，会同时返回新的 page_token，否则不返回 page_token
has_more | boolean | 是否还有更多项

### 响应体示例
```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",
                "location": {
                    "name": "上海",
                    "address": "徐汇区",
                    "latitude": 23.4444,
                    "longitude": 23.4444
                }
            }
        ],
        "page_token": "eVQrYzJBNDNONlk4VFZBZVlSdzlKdFJ4bVVHVExENDNKVHoxaVdiVnViQT0=",
        "has_more": true
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 190002 | invalid parameters in request | 无效的请求参数。排查建议如下：<br>- 确认请求参数的字段名称、传参类型正确。<br>- 确认已经申请了相应资源的权限。<br>- 确认相应资源未被删除。
500 | 190003 | internal service error | 内部服务错误，请咨询[技术支持](https://applink.feishu.cn/TLJpeNdW)。
429 | 190004 | method rate limited | 方法频率限制。建议稍后再试，并适当减小请求 QPS。
429 | 190005 | app rate limited | 应用频率限制。建议稍后再试，并适当减小请求 QPS。
403 | 190006 | wrong unit for app tenant | 请求错误，检查应用 App ID 和 App Secret 是否正确。如仍无法解决请咨询[技术支持](https://applink.feishu.cn/TLJpeNdW)。
404 | 190007 | app bot_id not found | 应用的 bot_id 没有找到。你需要确保应用开启了[机器人能力](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-enable-bot-ability)。如仍未解决请咨询[技术支持](https://applink.feishu.cn/TLJpeNdW)。
400 | 190008 | page_token or sync_token expired | page_token或者sync_token已过期，请置空token再重试
429 | 190010 | current operation rate limited | 当前操作被限流，原因一般为公用资源并发抢占失败。你可以适当降低当前操作频率，然后重试。
403 | 190011 | tenant encrypt key has been deleted | 加解密状态的自主密钥被删除，被该秘钥加密的数据不可用。
403 | 190012 | tenant decrypt key has been deleted | 仅解密状态的自主密钥被删除，被该秘钥加密的数据不可用。
404 | 191000 | calendar not found | 日历没有找到。你需要检查并改为正确的日历 ID。
400 | 191001 | invalid calendar_id | calendar_id 无效。你需要检查并改为正确的日历 ID。
403 | 191002 | no calendar access_role | 当前身份没有日历的访问权限。如需查询某一日历信息，则需要确保当前身份拥有该日历的访问权限。
403 | 191003 | calendar is deleted | 日历已经被删除。你需要检查并改为正确的日历 ID。
403 | 191004 | invalid calendar type | 日历类型错误。你可以调用[查询日历信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/get)接口获取日历类型信息，然后确保日历类型适用于当前接口。
400 | 193000 | invalid event_id | event_id 无效。你需要检查并改为正确的日程 ID。
404 | 193001 | event not found | 日程未找到。你需要确保传入了正确的日程 ID。
403 | 193002 | no permission to operate event | 无权限操作。你需要确保有日历以及日程的编辑权限。
403 | 193003 | event is deleted | 日程已经被删除。你需要检查并改为正确的日程 ID。
404 | 195100 | user is dismiss or not exist in the tenant | 当前身份或指定用户已经离职，或者不在该租户内。请检查并改为正确的身份来调用接口。

更多错误码信息，参见[通用错误码](https://open.feishu.cn/document/ukTMukTMukTM/ugjM14COyUjL4ITN)。

