簡體   English   中英

為什么項目不發布到我的SharePoint列表中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM