[英]Why won't items post to my SharePoint list?
我正在嘗試將數據從JSON格式移動到SharePoint列表。 我從中提取JSON的數據庫的每個請求限制為500個項目,因此我使用EPOCH時間進行多次調用以提取所有數據。 我能夠很好地提取所有數據,但是當我嘗試將其放入SharePoint列表時,我開始遇到問題。 前515個項目將毫無問題地添加到SharePoint列表中,但此后的任何其他項目都不會進入SharePoint列表。 將進入SharePoint列表的最后一個EPOCH時間是1523302307,由於某些原因,任何EPOCH時間大於此時間的項目都不會放入列表中。
當該項目未添加到SharePoint列表時, OnQueryFailed()
函數會說:
請求失敗。 列“”不存在。 它可能已被其他用戶刪除。
下面是我的代碼片段。
function testDatabase() {
var settingObj = {
sinceDateTime: '0',
dynoCode: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx',
custCode: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx',
formGUID: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx',
getJSONURL: 'https://www.xxxxxxxxxx.net/api/api/xxxx'
};
var columnArray = ['Quandrant', 'MapNumber', 'Picture1', 'Picture2', 'PoleOwner', 'PoleClass', 'PoleSize', 'PowerTagNumber', 'TelephoneTagNumber', 'AttachmentHeight', 'Guying', 'StreetLightAttached', 'TransformerPole', 'ExistingFiber', 'ExistingCopper', 'Grounds', 'MR1AtMidspanClearanceViolation', 'MR1ClearanceViolation', 'MR2PoleTransferRequired', 'MR3DownguyOrAnchorDeficiency', 'MR4BrokenLashingWire', 'MR5DamagedOrKinkedCoaxOrFiber', 'MR6DropTransferRequired', 'MR7TemporaryCoaxOrFiberCable', 'MR8DamagedElectronics', 'MR9PlaceOrRepairGroundOrBond', 'MR10DrpSplttrOrInsfntTapPrts', 'MR11PedOrVltOrLockbxDmged', 'PoleReplacement', 'PoleGrade', 'HouseCount', 'BuildingInformation'];
$.getJSON(settingObj.getJSONURL, {
sinceDateTime: settingObj.sinceDateTime,
custCode: settingObj.custCode,
dynoCode: settingObj.dynoCode,
formGUID: settingObj.formGUID
}).done(function (data) {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('testlist2');
var itemCreateInfo = new SP.ListItemCreationInformation();
$.each(data, function (i, item) {
var contentArray = data[i].FormFieldsList;
this.oListItem = oList.addItem(itemCreateInfo);
this.oListItem.set_item('Title', data[i].resourceName);
this.oListItem.set_item('SinceDateTime', data[i].FormUpdatedDate);
var self = this;
$.each(contentArray, function (i1, item2) {
self.oListItem.set_item(columnArray[i1], contentArray[i1].FieldValue);
console.log(contentArray[i1].FieldValue);
});
this.oListItem.update();
clientContext.load(this.oListItem);
clientContext.executeQueryAsync(onQuerySucceeded, onQueryFailed);
});
console.log('Rows returned: ' + data.length);
console.log(data);
}).fail(function (jqXHR, textStatus, err) {
console.log('Error on web service call: ' + err + ' Text Status: ' + textStatus + ' Message: ' + jqXHR.responseXML);
});
}
function onQuerySucceeded() {
console.log('Item created!');
}
function onQueryFailed(sender, args) {
console.log('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
我發現了問題! 我要導入的數據集包含32列的項目,這些項目與我創建的數組匹配,但是在第515個項目之后,數據集切換為33列,這說明了我收到的錯誤。 只是認為我應該發布我的答案,以防將來有人遇到此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.