2016-09-07 6 views
0

Javascriptを使用してSharePointカレンダーリストでRecurrenceData値を設定する方法? SharePointのREST APIを介して次のプロパティをイベントを繰り返すを生成するためJavascriptを使用してSharePointカレンダーリストのRecurrenceData値を設定する方法

var recurreciveData = "<recurrence> 
          <rule> 
           <repeat> 
            <daily dayFrequency=\"" + repeatDayz + "\" /> 
           </repeat> 
           <windowStart> 
            " + repeatStrtDate.toISOString() + " 
           </windowStart> 
           <windowEnd> 
            " + repeatEndDate.toISOString() + " 
           </windowEnd> 
          </rule></recurrence>"; 
var data = JSON.stringify({ 
    "__metadata": { 
     "type": "SP.Data."+ listName +"ListItem" 
    }, 
    "Title": title, 
    "Location": location, 
    "RoomId": room, 
    "EventDate": strtDate, 
    "EndDate": endDate, 
    "fRecurrence": true, 
    "RecurrenceData": recurreciveData, 
}); 

答えて

1

指定する必要があります

  • EventDate
  • EndDate
  • fRecurrencetrueのセット、
  • EventTypeセットに、
  • RecurrenceData

var listTitle = "Calendar"; 
var itemProperties = { 
    '__metadata': { "type": "SP.Data.CalendarListItem" }, 
    'Title': 'Event 123', 
    'EventDate' : '2015-06-03T09:00:00Z', 
    'EndDate' : '2017-06-03T09:00:00Z', 
    'fRecurrence': true, 
    'EventType' : 1, 
    'RecurrenceData': '<recurrence><rule><firstDayOfWeek>su</firstDayOfWeek><repeat><daily dayFrequency="1" /></repeat><repeatForever>FALSE</repeatForever></rule></recurrence>' 
}; 

createListItem(listTitle,itemProperties) 
.done(function(item) 
{ 
    console.log('Event has been created'); 
}) 
.fail(function(error){ 
    console.log(JSON.stringify(error)); 
}); 

function executeJson(options) 
{ 
    var headers = options.headers || {}; 
    var method = options.method || "GET"; 
    headers["Accept"] = "application/json;odata=verbose"; 
    if(options.method == "POST") { 
     headers["X-RequestDigest"] = $("#__REQUESTDIGEST").val(); 
    } 

    var ajaxOptions = 
    {  
     url: options.url, 
     type: method, 
     contentType: "application/json;odata=verbose", 
     headers: headers 
    }; 
    if("data" in options) { 
     ajaxOptions.data = JSON.stringify(options.data); 
    } 

    return $.ajax(ajaxOptions); 
} 



function createListItem(listTitle,payload){ 
    var url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/items"; 
    return executeJson({ 
     "url" :url, 
     "method": 'POST', 
     "data": payload}); 
} 
+0

こんにちはヴァディム!ありがとうございました! JSOMに変更され、正常に機能しますが、「カレンダー」ビューで問題を開くことがあります:https://sharepoint.stackexchange.com/questions/215859/jsom-calendar-recurring-task-item-does-not-exist-it-may -have-been-deleted-byこの問題はありませんでしたか? –

関連する問題