我正在尝试使用 Sharepoint REST Api 创建 ListItem (我们刚开始使用Sharepoint Api,所以绝对没有专家)。
根据 Microsoft tutorial ,帖子应如下所示:
我实施了以下代码
public addItemToList_Test(): void {
var listTitle: string = "DemoHomeWork";
var listItemType: string = "SP.Data." + listTitle + "ListItem";
var listItemTitle: string = "TestItem";
var postBody = { '__metadata': { 'type': listItemType }, 'Title': 'TestItem' };
var $: jQuery = require("jquery");
var call = $.ajax({
url: listsUrl + "/GetByTitle('" + listTitle + "')/items",
method: "POST",
body: postBody,
headers: {
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
length: JSON.stringify(postBody).length
}
});
return call;
}
然而,这让我不断回到错误请求(400),并弄清楚为什么发生这种情况很难找到。是否有人可以告诉我该请求有什么问题?
答案 0 :(得分:0)
您如何验证您的请求?
如文档中所示,您需要将access_token
与您的API请求一起提交。在你的标题中,我没有看到access_token
被传递。
您需要首先获取access_token
,然后将其与请求一起传递以使API工作。
同样在
"'__metadata': { 'type': listItemType }" **listItemType** you are creating it manually but it can be different. Can you check getting it manually (`https://site_url/_api/web/lists/getbytitle(listtitle)`)
并检查此列表的ListItemEntityTypeFullName
是否与您创建的listItemType
相同。