You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Tapkey API创建Grunt时timeRestrictionIcal参数报错的解决咨询

解决Tapkey API创建Grunt时TimeRestrictionIcalMalformed错误

问题描述

调用Tapkey API创建Grunt时,传入timeRestrictionIcal参数失败,触发TimeRestrictionIcalMalformed错误。

请求参数示例

{
  "boundLockId": "string",
  "contactId": "string",
  "timeRestrictionIcal":"string"
}

传入的timeRestrictionIcal内容

BEGIN:VCALENDAR
VERSION:2.0
PRODID:http://localhost:3000
BEGIN:VEVENT
UID:20230422T030000Z62505530-4988-4a93-acff-1f673e50bf76
DTSTAMP:20230422T030000Z
DTSTART; TZID=Europe/Uzhgorod:20230425T030000
DTEND; TZID=Europe/Uzhgorod:20230425T130000
END:VEVENT
END:VCALENDAR

正确使用timeRestrictionIcal参数的方法

1. 修正iCal语法错误

你的iCal内容中,DTSTART和DTEND字段的分号后多余了空格,违反了iCal标准语法。需要移除空格,修正后的字段应为:

DTSTART;TZID=Europe/Uzhgorod:20230425T030000
DTEND;TZID=Europe/Uzhgorod:20230425T130000

2. 正确转义JSON中的iCal字符串

将iCal内容作为JSON参数值时,必须把所有换行符转义为\n,确保JSON格式合法。修正后的完整请求参数示例:

{
  "boundLockId": "your-actual-bound-lock-id",
  "contactId": "your-actual-contact-id",
  "timeRestrictionIcal": "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:http://localhost:3000\nBEGIN:VEVENT\nUID:20230422T030000Z62505530-4988-4a93-acff-1f673e50bf76\nDTSTAMP:20230422T030000Z\nDTSTART;TZID=Europe/Uzhgorod:20230425T030000\nDTEND;TZID=Europe/Uzhgorod:20230425T130000\nEND:VEVENT\nEND:VCALENDAR"
}

3. 确保iCal格式符合RFC 5545标准

  • 必须包含VCALENDAR根组件,且包含VERSION和PRODID必填字段
  • VEVENT组件必须包含UID、DTSTAMP、DTSTART、DTEND必填字段
  • 使用Tapkey支持的IANA时区标识符(如Europe/Uzhgorod是合法的IANA时区)
  • 避免使用非标准的字段或格式

内容的提问来源于stack exchange,提问作者Vlad Mashenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 14:03:19