Вставьте столбец выбора людей в список Sharepoint, используя Rest API

avatar
Surendra Mourya
8 апреля 2018 в 06:47
2448
1
0

Мне нужно вставить элемент в список sharepoint, который имеет несколько столбцов, таких как идентификатор билета, EmpID и ShareTicketWith, который является полем выбора людей. Я могу вставить запись, когда я не прохожу столбец выбора людей. Но когда я передаю столбец выбора людей, он выдает ошибку "PrimitiveValue' node with non-null value was found when trying to read the value of a navigation property; however, a 'StartArray' node, a 'StartObject' node, or a 'PrimitiveValue' node with null value was expected."}}}".

Я пытался передать его несколькими способами, но каждый раз выдавало ошибку. Ниже приведен код:

var sharedticketlist= {
"__metadata": { 'type': 'SP.Data.TestTicketListListItem'},
"Title": "1241",
"EmpID":"123456",
"TicketSharedWith":"test@test.com",
}

   $.ajax({  
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('TestTicketList')/items",  
    type: "POST",  
    headers: {  
        "accept": "application/json;odata=verbose",  
        "X-RequestDigest": $("#__REQUESTDIGEST").val(),  
        "content-Type": "application/json;odata=verbose"  
    },  
    data: JSON.stringify(sharedticketlist),  

    success: function(data) {  
        console.log(data.d.results);  
    },  
    error: function(error) {  
        alert(JSON.stringify(error));  
    }  
    }); 

Я также пытался передать идентификатор автора, но это не сработало. Приветствуется любая помощь.

Источник

Ответы (1)

avatar
Jerry
8 апреля 2018 в 14:13
0

Пожалуйста, проверьте XML-файл Rest OData, как показано ниже, он должен установить EmpIDId и TicketSharedWithId для этих двух полей с идентификатором пользователя, например, мой текущий идентификатор пользователя равен 10, а затем установить, как показано ниже:

<script type="text/javascript">
var sharedticketlist= {
"__metadata": { 'type': 'SP.Data.TestTicketListListItem'},
"Title": "1241",
"EmpIDId":10,//this is user id, replace with yours
"TicketSharedWithId":10 //this is user id, replace with yours
}

   $.ajax({  
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('TestTicketList')/items",  
    type: "POST",  
    headers: {  
        "accept": "application/json;odata=verbose",  
        "X-RequestDigest": $("#__REQUESTDIGEST").val(),  
        "content-Type": "application/json;odata=verbose"  
    },  
    data: JSON.stringify(sharedticketlist),  

    success: function(data) {  
        console.log(data.d.results);  
    },  
    error: function(error) {  
        console.log(JSON.stringify(error));  
    }  
    }); 

</script>

Остальное OData:

OData

Результат:

Результат