【发布时间】:2020-01-28 19:36:24
【问题描述】:
我对使用 Twilio SMS/MMS 可编程 API 还是很陌生。我在通过 Twilio Java 库发送基本 SMS 方面取得了相当大的成功。但是,我有一个客户有兴趣向他们的一些最终用户发送一般日历约会作为一种保存日期,最终用户可以方便地添加到他们的日历中,而无需从头开始创建约会。这并非旨在跟踪用户接受情况的会议邀请。当通过 Twilio API 发送 MMS 时,我已经创建了一个提供 .ics 文件的 API,并为该端点设置了一个媒体 URL。我能够成功附加文件。但是,.ics 文件不会在我的设备 (iPhone) 上打开,因此我无法将事件添加到我的日历中。有没有其他人试过这个?这可能与 Twilio API 未明确支持的文件类型有关吗?格式不正确的 .ics 文件会导致这种情况吗(如果需要,我可以共享文件的构造)?提前谢谢你。
更新 为了提供更多上下文,我将包含 API 代码:
@Path("/calendar")
public class CalendarEventAPI {
@GET
@Path("/event/{eventName}")
public Response getCalendarEvent() {
return Response.ok(buildCalendarEvent())
.header("Content-Type", "text/calendar")
.header("Content-Disposition", "attachment; filename=\"cal.ics\"")
.build();
}
private String buildCalendarEvent() {
return "BEGIN:VCALENDAR\r\n" +
"VERSION:2.0\r\n" +
"PRODID:-//ABC Corporation//My Product//EN\r\n" +
"BEGIN:VEVENT\r\n" +
"DTSTART:20191003T110000\r\n" +
"DTEND:20191003T140000\r\n" +
"LOCATION:Unknown\r\n" +
"TRANSP:OPAQUE\r\n" +
"UID:b642020d-3370-4696-8378-2e42d3efb224@example.com\r\n" +
"DTSTAMP:20190923T200519Z\r\n" +
"SUMMARY:Awesomeness\r\n" +
"DESCRIPTION:Awesome Stuff is happening!\r\n" +
"END:VEVENT\r\n" +
"END:VCALENDAR";
}
}
【问题讨论】:
-
因此,我将 Content-Type 的标题更新为正确的大小写,并将日历事件数据剥离为更基本的内容,现在可以将文件作为 MMS 的一部分获取能够打开文件。但是,我不能将它作为彩信的一部分添加到我的日历中。当我通过浏览器直接访问端点时,我的手机 (iPhone) 可以下载并打开文件,并提供添加到日历的选项。
-
这似乎是一个不错的进展。可悲的是,我不在美国,无法从 Twilio 号码接收彩信,所以我不能自己再测试一下。只是检查一下,您可以通过手机向自己发送 MMS 日历事件吗?那里的体验如何?
标签: java twilio icalendar twilio-api mms