我使用以下格式从sharepoint列表项导出ics文件:
http://sharepoint/site/_vti_bin/owssvr.dll?CS=109&Cmd=Display&List=[List GUID]&CacheControl=1&ID=[Item ID]&Using=event.ics
我的列表中有一个名为description的列,它会在正确的位置传递给生成的ics文件,但是任何\n
似乎都会转义到显示的\\n
作为日历约会中的文字。
我尝试过很多不同的选择,但似乎无法实现这一点。
\n
被\\n
\134n
被\\n
\\n
生成正确但不起作用
\012
似乎打破了ics文件,除非它后跟一个空格字符,但随后它会被展开并被忽略。
我拒绝相信这是不可能的。任何帮助将不胜感激,任何解决方案都会让我感到沮丧。
答案 0 :(得分:0)
我不知道原始数据是如何存储的,但icalendar规范(RFC5545
)规格:
“TEXT”属性值也可能包含特殊字符 用于表示分隔符的分隔符,例如COMMA字符 值列表或结构化值的SEMICOLON字符。 为了支持包含这些特殊字符 “TEXT”属性值,它们必须使用BACKSLASH进行转义 字符。 “TEXT”属性值中的BACKSLASH字符必须 用另一个BACKSLASH字符转义。一个COMMA角色 必须使用BACKSLASH转义“TEXT”属性值 字符。 “TEXT”属性值中的SEMICOLON字符必须 使用BACKSLASH字符进行转义。但是,一个COLON角色 在“TEXT”属性值中,不应使用BACKSLASH进行转义 字符。
示例:多行值:
Project XYZ Final Review
Conference Room - 3B
Come Prepared.
would be represented as:
Project XYZ Final Review\nConference Room - 3B\nCome Prepared.
因此,为了让您的导出工作,您应该保持\ n按原样,用\ n替换CRLF,并希望您的用户拥有标准的兼容日历工具。