有空接口说明文档

最后更新: Oct 1,2018

Account数据结构

名称 类型 描述

NickName

string

昵称

LastSignin

Datetime

最后登录时间

Channels

Channel[]

有空支持的渠道

Profiles

Profile[]

用户授权账户

Widgets

Widget[]

有空支持的日历插件

Calendars

Calendar[]

日历列表

SubscribedCalendars

Calendar[]

订阅日历列表

NotedCalendars

Calendar[]

参与日程的日历列表(参与日历中部分事件而没有订阅该日历)

 

Anyone数据结构

名称 类型 描述

NickName

string

昵称

Portrait

string

头像

 

Attendee 数据结构

名称 类型 必须 描述

Type

string

类型。可选值:required, optional, resource

EmailAddress

EmailAddress

邮箱地址

Status

ResponseStatus

响应

AdditionalGuests

int

额外参与人数

Comment

string

参与者的反应内容

DisplayName

string

显示的名称

Email

string

Email地址

Id

string

参与者身份ID(Google)

Optional

bool

参与者是否可选(GOOGLE)。默认false

Organizer

bool

出席者是否为活动组织者(GOOGLE)。默认值false

Resource

bool

是否资源(GOOGLE)。默认值false

ResponseStatus

string

响应状态(GOOGLE)

Self

bool

事件是否是日历副本(GOOGLE)

 

Calendar 定义

名称 类型 必须 描述

ProfileId

string

日历的账户标识ID(AccountAvatar的ChannelIdentity属性)。在某个平台的账号标识,比如Outlook平台下,ProfileId就是Outlook平台的唯一标识

ProfileName

string

只读

日历的账户名称(AccountAvatar的DisplayName属性)。在某个平台的名称,比如Outlook平台下,ProfileName就是在Outlook平台的名称

ProviderName

string

只读

日历服务商。条件必填,如果ProfileID不为空,则必填。可选值:outlook,google,icloud,chinatelecom等

CalendarId

string

日历ID。修改时必填

CalendarName

string

日历名称

CalendarReadonly

bool

日历是否只读。默认false

CalendarPrimary

bool

是否是主日历。默认false

IsPublic

bool

是否公开。默认false

IsCreator

bool

只读

是否创建者。默认false

IsSubscriber

bool

只读

是否订阅者。默认false

DeveloperId

int

只读

开发者ID

Tags

string

标签(例如:娱乐,聚会)

CalendarIcon

string

日历图标

CalendarColor

string

日历颜色

 

CalendarPack 定义

名称 类型 必须 描述

Calendar

Calendar

日历

Events

Event[]

日历中事件列表

 

Channel数据结构

名称 类型 描述

ChannelId

int

渠道ID

ChannelIcon

string

渠道图标

ChannelSymbol

string

渠道标识

ChannelLead

string

渠道导语

ChannelName

string

渠道名称

NeedAccount

bool

需要账号

 

Client 定义

名称 类型 必须 描述

ClientKey

string

应用的 Key

Timestamp

string

请求时间戳。3分钟之内有效

Sign

string

请求的签名

UserCode

string

开发者用户编号

 

Detail 数据结构

名称 类型 描述

calendarId

string

日历ID

eventid

string

日历ID

summary

string

日历名称

url

string

事件链接

className

string

样式名称

timeText

string

时间显示

start

string

开始时间

end

string

结束时间

isAllDay

bool

是否全天事件

source

string

来源(插件则显示插件名称)

color

string

颜色

Creator

Anyone

日历创建者

Attendees

Anyone []

参与者

Location

Location

事件所在地点

 

EmailAddress数据结构

名称 类型 描述

Name

string

名称

Address

string

邮箱地址

 

Event 定义

名称 类型 必须 描述

CalendarId

string

日历ID(创建事件无主题日历时,不用传或者传空字符串)

CalendarName

string

日历名称

Id

int

否(仅输出)

事件数字ID。

EventId

string

事件ID。修改时必填

Summary

string

事件标题

Description

string

事件内容

IsAllDay

bool

是否全天事件。默认false

Start

Time

事件开始时间

End

Time

事件结束时间

Recurrence

Recurrence

事件循环周期。如果是循环类型的事件必填,非重复事件则为null

Location

Location

事件所在地点

Reminders

Reminder[]

提醒。可设置提前多时段提醒

Attendees

Attendee[]

事件参与人

Categories

string[]

事件类别

IsCreator

bool

否(仅输出)

日程创建者

IsAttendee

bool

否(仅输出)

日程参与者

Weblink

string

事件链接,开发者公共日历事件唯一标识

 

EventReminder 定义

名称 类型 必须 描述

UserCode

string

用户标识

DisplayName

string

用户昵称

Portrait

string

否(仅输出)

用户头像

ReminderItems

EventReminderItem[]

事件信息

 

EventReminderItem 数据结构

名称 类型 必须 描述

EventId

int

事件ID

EventName

string

事件名称

EventDescription

string

事件描述

RemindTime

DateTime

提醒时间

CalendarId

string

日历ID

StartTime

DateTime

事件开始时间

Location 数据结构

名称 类型 必须 描述

DisplayName

string

显示名称

Address

string

地址

City

string

城市

CountryOrRegion

string

国家地区

PostalCode

string

邮政编码

State

string

省、州

Street

string

街道

LocationEmailAddress

string

邮件地址

Longitude

double

经度

Latitude

double

纬度

 

Profile数据结构

名称 类型 描述

ChannelId

int

渠道ID

ChannelName

string

渠道名称

ProfileId

string

渠道用户唯一标识

ProfileName

string

渠道账户名

IsPrimary

bool

首选渠道

Url

string

渠道登录地址

TokenExpires

DateTime

令牌过期时间

SynchroTime

DateTime

最后同步时间

Created

DateTime

创建时间(授权时间)

 

Recurrence 数据结构

名称 类型 必须 描述

Pattern

RecurrencePattern

事件频率

Range

RecurrenceRange

事件循环周期的时间范围

 

RecurrencePattern 数据结构

名称 类型 必须 描述

Type

string

循环类型。可选值如下:

daily:每天

weekly:每周

absoluteMonthly:每月指定日期,例如每月10号

relativeMonthly:每月相对日期,例如每月第二周星期三

absoluteYearly:每年指定日期,例如每年十月一号

relativeYearly:每年相对日期,例如每年6月第二个星期天

Interval

int

重复间隔(Interval=3,Type=daily:每3天发生一次)。

Month

int

某月(按年重复)

DayOfMonth

int

某日(按年/按月重复)

DaysOfWeek

string[]

每周中的几日。枚举值:sunday, monday, tuesday, wednesday, thursday, friday, saturday

FirstDayOfWeek

string

每周开始于某一天。枚举同DaysOfWeek。如果Type是Weekly,必填。默认值是Sunday

Index

string

每月的第几周。枚举:first, second, third, fourth, last。默认值first

 

RecurrenceRange 数据结构

名称 类型 必须 描述

Type

string

重复范围类型。必填。可选值:endDate 结束日期, noEnd 无结束日期, numbered 从时间开始日期重复计数。

StartDate

DateTime

事件频率模式执行UTC开始日期。yyyy-MM-dd ,必填。事件第一次执行的日期可能是这个日期,也可能晚于这个日期

EndDate

DateTime

事件频率执模式行UTC结束日期。yyyy-MM-dd ,Type等于endDate时必填

RecurrenceTimeZone

string

时区ID

NumberOfOccurrences

int

事件重复的次数。Type等于numbered时必填

 

Reminder 数据结构

名称 类型 必须 描述

Method

string

提醒方法。可选值:email 电子邮件;sms 短信;popup 应用界面提醒

Minutes

int

提前分钟数,最大值40320

UseDefault

bool

日历的默认提醒是否适用于该事件

 

ResponseStatus 数据结构

名称 类型 必须 描述

Response

string

响应信息。

Time

string

响应时间(UTC时间,示例:2018-01-22T09:12:43.083Z)。

 

 

Time 数据结构

名称 类型 必须 描述

Date

string

日期(全天事件中必须),yyyy-MM-dd ,示例:2018-01-22

Time

string

UTC时间,示例:2018-01-22T09:12:43.083Z

Tzid

string

时区ID,例如UTC

 

Widget数据结构

名称 类型 描述

Rank

int

显示顺序

Code

string

编码

Name

string

名称

Selected

bool

选中(显示在日历上)

 

sign签名算法

请求的Client参数中的ClientKey,Timestamp,与ClientKey对应的secret,
拼成如下字符串:key={ClientKey}&secret={secret}&timestamp={Timestamp}。将该字符串计算MD5摘要值。请看下面示例:

"Client": {

        "ClientKey": "abc123",

        "Timestamp": "1536133146",

        "Sign": "f2b2ba3562490e3cda3bb0fa1b472bad",

        "UserCode": "AA0001"

    }

Secret:7b898f76-6873-4fdb-afc3-072a01d1c898

摘要源字符串是:key=abc123&secret=7b898f76-6873-4fdb-afc3-072a01d1c898&timestamp=1536133146

计算后签名值为:f2b2ba3562490e3cda3bb0fa1b472bad