我正在开发一个内部网,我们可以在线使用Sharpeoint。我正在使用OData查询共享点REST请求。
客户要求创建重复事件和单个事件的方法。虽然我可以创建一个事件,但在创建重复事件时遇到了一些麻烦。
添加已正确执行,事件已添加到日历中,但具有唯一性。
这是我的重复字符串
<recurrence>
<rule>
< firstDayOfWeek > su < /firstDayOfWeek>
< repeat >
<weekly tu='TRUE' we='TRUE' weekFrequency= '1'/>
< /repeat>
< windowEnd >2018-08-22T09:12:26Z< /windowEnd >
< /rule>
</recurrence >
这是我的查询
if (newItem["Recurrent"]) {
return new Web(`${this.baseUrl}`)
.lists
.getByTitle(this.baseList)
.items
.add({
"Languages_Active": true,
"Title": newItem["Title"],
"Languages_PT": true,
["Title_" + language]: newItem["Title"],
["Description_" + language]: newItem["Description"],
'Preferences': newItem["Preferences"],
'fRecurrence': newItem["Recurrent"],
'FromLocation': newItem["FromLocation"],
'ToLocation': newItem["ToLocation"],
'StopPoint': newItem["StopPoint"],
'Seats': newItem["Seats"],
'PrivateCar': newItem["PrivateCar"],
'EventDate': newItem["StartDate"],
'EndDate': newItem["EndDate"],
//recurrent event fields
'EventType': 1,
'RecurrenceData': recurrenceString,
'fAllDayEvent': false,
'TimeZone': 0,
})
.then(createResult => {
this.count(listName, country);
this.home(refresh, listName, language, country);
});
这将根据此字段正确创建项目
这将使加载程序无法加载日历事件。
我尝试创建一个具有“自定义”重复发生的事件,但是默认情况下,sharepoint不允许这样做。我正在使用 spEventsHelpers 处理周期性事件。
我可以停止创建自定义重复周期并进行每周一次吗?我现在不想创建复杂的重复事件。
这也是预期的结果吗?为什么看不到图案?我已经看了好几个小时了,还没有弄清楚问题出在哪里...
我已经搜索过类似的问题,但没有发现...如果您知道这种问题,请指出。 预先感谢您的帮助!
答案 0 :(得分:1)
当SharePoint无法解释RecurrenceData字段中的XML时,会发生这种情况。即使您使用了正确的语法,也有很多多余的空间使XML无效。这是几个示例:
< firstDayOfWeek > su < /firstDayOfWeek> //Incorrect
<firstDayOfWeek>su</firstDayOfWeek> //Correct
<weekly tu='TRUE' we='TRUE' weekFrequency= '1'/> //Incorrect
<weekly tu='TRUE' we='TRUE' weekFrequency='1'/> //Correct
我建议您研究为该字段生成XML的代码,以消除多余的空格。最终结果需要如下所示:
<recurrence><rule><firstDayOfWeek>su</firstDayOfWeek><repeat><weekly tu='TRUE' we='TRUE' weekFrequency='1'/></repeat><windowEnd>2018-08-22T09:12:26Z</windowEnd></rule></recurrence>