Ben*_*art 6 icalendar google-calendar-api
我通过电子邮件将 ICS 文件发送给我的用户,以帮助自动管理约会,当任何一方单击我网站上的取消链接时,我将发送一封包含取消 ICS 文件的新电子邮件。
我的目标市场主要使用 Gmail。
当他们收到初始电子邮件时,他们可以单击将 ics 文件中的活动添加到他们的 Google 日历中。
当他们收到取消电子邮件时,无法更新活动。
如果相关,电子邮件来自 support@domain.com
有什么方法可以通过电子邮件处理 ICS 文件吗?
原始事件ICS:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//sebbo.net//ical-generator//EN
METHOD:PUBLISH
BEGIN:VEVENT
UID:AUniqueIDThatMatches
SEQUENCE:0
DTSTAMP:20181004T184001Z
DTSTART:20181005T210000Z
DTEND:20181005T213000Z
SUMMARY:SESSION
LOCATION:Online session
DESCRIPTION:SESSION
ORGANIZER;CN="Admin":mailto:support@domain.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CN="Admin":MAILTO:support@domain.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CN="ben hart":MAILTO:attendee@domain.com
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER:-PT10M
DESCRIPTION:SESSION
END:VALARM
BEGIN:VALARM
ACTION:AUDIO
TRIGGER:-PT5M
ATTACH;VALUE=URI:Basso
END:VALARM
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)
取消ICS:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//sebbo.net//ical-generator//EN
METHOD:CANCEL
BEGIN:VEVENT
UID:AUniqueIDThatMatches
SEQUENCE:1
DTSTAMP:20181004T184057Z
DTSTART:20181005T210000Z
DTEND:20181005T213000Z
SUMMARY:SESSION
LOCATION:Online session
DESCRIPTION:SESSION
ORGANIZER;CN="Admin":mailto:support@domain.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CN="Admin":MAILTO:support@domain.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CN="ben hart":MAILTO:attendee@domain.com
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER:-PT10M
DESCRIPTION:SSESSION
END:VALARM
BEGIN:VALARM
ACTION:AUDIO
TRIGGER:-PT5M
ATTACH;VALUE=URI:Basso
END:VALARM
STATUS:CANCELLED
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)
首先,如果这是邀请,您应该
METHOD:REQUEST
Run Code Online (Sandbox Code Playgroud)
而不是原始邀请中的 METHOD:PUBLISH。这很重要,因为至少在理论上,取消只有在请求之后才有效。
然后,您应该从这两条消息中删除 VALARM 垃圾邮件。无论如何,它们将在请求中被忽略。
最后,您是否在取消电子邮件的内容类型中包含了正确的方法?
| 归档时间: |
|
| 查看次数: |
1519 次 |
| 最近记录: |