抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台

button组件写入系统日历
收藏
我的收藏

基础库 2.93.0 开始支持本能力。支持添加用户日历,需要将 button 组件 open-type 的值设置为 addCalendarEvent。
button 组件常规属性请参考button 按钮
提供写入系统日历的能力。该能力需申请权限使用,满足申请条件后,开发者登录控制台,在小程序应用中筛选“能力-互动能力-系统能力”,同时申请添加日历/查询日历/删除日历能力,能力使用规范详情查看日历能力开通及使用规范

属性说明

属性名
类型
默认值
必填
说明
最低支持版本
open-type
string
用于调用开放能力,此场景下需要设置为 "addCalendarEvent"
2.93.0
data-calendar-options
CalendarOptions
添加用户系统日历参数
2.93.0
bindaddcalendarevent
EventHandle
监听添加日历的回调,open-type=addCalendarEvent时有效
2.93.0

CalendarOptions

为 object 类型,属性如下:
属性名
类型
默认值
必填
说明
最低支持版本
title
string
日历事件标题
2.93.0
description
string
""
事件说明
2.93.0
startTime
number
开始时间的 unix 时间戳(1970年1月1日开始所经过的时间),需要距离添加当日180天内
2.93.0
endTime
number
与 startTime 相同
结束时间的 unix 时间戳(1970年1月1日开始所经过的时间),距离开始时间30天内
2.93.0
location
string
""
事件位置
2.93.0
alarm
bool
FALSE
是否设置提醒
2.93.0
alarmOffset
number
0
提醒提前量(单位:分钟)
2.93.0

bindaddcalendarevent

事件对象的 detail
回调成功
Object 类型,属性如下:
参数
参数类型
说明
errMsg
string
跳转成功信息,恒为'addCalendarEvent:ok'
errNo
number
恒为0
回调失败
Object 类型, 属性如下:
参数
参数类型
说明
errMsg
string
跳转失败信息,以'addCalendarEvent:fail'开头
errNo
number
错误代码
错误说明
errNo
errMsg
说明
10200
addCalendarEvent:fail auth deny
用户未授权小程序权限
10200
addCalendarEvent:fail system auth deny
用户未授权系统权限
21101
addCalendarEvent:fail create calendar account fail
创建日历账户失败
21102
addCalendarEvent:fail second pop-up window authorization failed
用户拒绝二次确认弹窗授权
21104
addCalendarEvent:fail add event fail
添加日历失败

扫码体验

代码示例

<button open-type="addCalendarEvent" bindaddcalendarevent="eventHandler" data-calendar-options="{{calendarOptions}}" > 写日系统日历 </button>
Page({ data: { calendarOptions: { title: "事件标题", startTime: new Date("2023-08-20T12:00:00").getTime() / 1000, endTime: new Date("2022-08-21T12:00:00").getTime() / 1000, description: "事件描述", location: "事件地址", alarm: true, alarmOffset: 5, }, }, eventHandler(e) { if (e.detail.errNo) { console.log("添加日历事件失败", e.detail); } else { console.log("添加日历事件成功"); } }, });

Bug & Tip

    Tip:startTime 与endTime 的有效精度均为分钟
    Tip:任何非必传的不合理参数(比如 endTime 比 startTime 要早、unix 时间戳传入浮点数、alarmOffset 为负数或浮点数等)都会被转化为默认值
    Tip: 可添加日历的时间依赖于手机系统日历支持的时间范围,不同机型标准不同,与当前时间相距较远的日期可能会添加失败。