我正在寫一個客戶端JS應用程序,我在Domino服務器的REST接口(帶有OSGi擴展的版本8.5.3)中遇到了一些問題,GET部分工作但我遇到POST問題,請參閱下面的代碼。這就造成了Domino/Notes的文檔時,我點擊它,我得到後續消息沒有找到Domino REST POST不工作約會 - 注意項目未找到
注意項目
tmpStartTime_Local:不正確的數據類型爲運營商或@Function時間/日期預計
然後我嘗試填寫所有「tmp」時間字段,這可以創建一個文檔,但它也不正確。我也嘗試過使用「通知」而不是預約表單再次不好。
當我在Notes中打開文檔時,它說這是一個議程項目,但不是一個會議,而且它是反覆出現的,它不是。它出現在「所有文檔」中,但不出現在日曆或資源預留中。我認爲這要麼是我沒有爲預約文件設置正確的值,要麼我沒有提出正確的服務,有什麼想法如何糾正?
function postREST()
{
var msg=
{
"Subject":"TEST C3",
"Body":"The date/time variant is basically just a floating-point number with the date as the integer part and the time as the fractional part. It can be freely converted back and forth to a Double, without losing information.",
"$PublicAccess":"1",
"$BusyName":"CN=Administrator/O=acme",
"$BusyPriority":"1",
"$ApprovalList":"CN=Administrator/O=acme",
"$CSFlags":"uw",
"$CSCopyItems":["Room"],
"$Programmatically": "1",
"ExcludeFromView": ["D","S" ],
"MailOptions":"0",
"AllowBusyAccess":"",
"NoticeType" : "I",
"AutoProcessType":"0",
"AutoProcessUserList":"Administrator",
"Room":"Room2\/ZAC Atalante [email protected]",
"AppointmentType":"3", // 0 = Appointment 3 Meeting
"Form":"Appointment",
"_ViewIcon":158, // Meeting
"Repeats":"", // doesn't appear to do much
"Chair":"CN=Administrator\/O=acme",
"Principal":"CN=Administrator\/O=acme",
"From":"CN=Administrator\/O=acme",
//"From":"CN=Administrator",
"AltChair":"CN=Administrator\/O=acme",
"SequenceNum":1,
"OrgTable":"C0", // Calendar entry 0 => first Calendar
"Logo":"StdNotesLtr25",
"StartTime":"10:00:00",
"StartDate":"2014-02-17",
"EndTime":"11:00:00",
"EndDate":"2014-02-17",
"CalendarDateTime":"2014-02-17T09:00:00Z",
"StartTimeZone":"Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZX=68$ZN=Romance",
"EndTimeZone":"Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZX=68$ZN=Romance",
"WhiteBoardContent":
{
"type":"multipart",
"content": [
{
"contentType":"text\/html; charset=US-ASCII",
"contentDisposition":"inline",
"data":"<html><body>HELLO WORLD<\/body><\/html>\r\n\r\n"
}
]
},
}
try {
var Amsg = JSON.stringify(msg);
}
catch (err) {
log(": Exception:"+ err);
}
var url = "http://99.99.99.99/mail/administ.nsf/api/data/documents?form=Appointment";
var username = "admin";
var password = "pwd";
try{
xhr = new XMLHttpRequest();
xhr.addEventListener("loadstart", function(evt) { //log("loadstart");log(evt);
}, false);
xhr.addEventListener("progress", function(evt)
{ //log("progress");log(evt);
}, false);
xhr.addEventListener("error", function(evt) {
error("xmlhttprequest ERROR");
log("ERROR readyState : " + this.readyState + " status : " + this.status + " " + this.statusText);
log("ERROR responseText : " + this.responseText);
log("ERROR responseXML : " + this.responseXML);
error(evt); }, false);
xhr.addEventListener("abort", function(evt) { error("abort"); error(evt); }, false);
xhr.addEventListener("load", function(evt) { //log("load");log(evt);
}, false);
xhr.addEventListener("loadend", function(evt) {
log("loadend ANSWER : readyState : " + this.readyState + " status : " + this.status);
postReturn(this.responseText);
}, false);
xhr.open("POST", url, true, username, password);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(msg);
}
catch(err) {
log(": Exception:"+ err);
}
}
更改日期格式解決了上述錯誤。我還有兩個問題,一個是當我打開議程項目時,它不會說它是一個會議,而另一個是在Notes中它說它是一個重複項目,有什麼想法? –
我應該如何使用通知或約會來創建新會議? –
您一定要使用約會表單。通知表格僅用於計劃工作流程(例如接受,拒絕,取消通知)。通過將「良好」事件的項目與應用程序創建的事件的項目進行比較,最有可能解決其他問題。正如Torsten所說,C&S架構文檔是一個很好的參考。 –