Некоторое время я использую API-интерфейс Box API для подключения Acumatica ERP к Box, и все прошло хорошо до недавнего времени. Всякий раз, когда я пытаюсь использовать тип BoxCollection с свойством ItemCollection, я получаю только первые 100 результатов независимо от того, какой лимит установлен в GetInformationAsync(). Вот фрагмент кода:Использование ItemCollection по типу BoxFolder с API-интерфейсом Box API возвращает только 100 результатов и не может получить оставшиеся
[PermissionSet(SecurityAction.Assert, Name = "FullTrust")]
public BoxCollection<BoxItem> GetFolderItems(string folderId, int limit = 500, int offset = 0)
{
var response = new BoxCollection<BoxItem>();
var fieldsToGet = new List<string>() { BoxItem.FieldName, BoxItem.FieldDescription, BoxItem.FieldParent, BoxItem.FieldEtag, BoxFolder.FieldItemCollection };
response = Task.Run(() => Client.FoldersManager.GetFolderItemsAsync(folderId, limit, offset)).Result;
return response;
}
Я затем передать эту информацию на переменную типа BoxFolder, а затем попытаться использовать свойство ItemCollection.Entries, но это возвращает только 100 результатов, в то время, без видимого пути для извлечения оставшихся 61 (в моем случае Count = 161, но записи = 100 всегда)
Другой фрагмент кода используемой переменной, я в основном пытаюсь получить идентификатор папки на основе имени папки внутри Box:
private static void SyncProcess(BoxFolder rootFolder, string folderName)
{
var boxFolder = rootFolder.ItemCollection.Entries.SingleOrDefault(ic => ic.Type == "folder" && ic.Name == folderName);
}
Я не смог найти nything, связанный с этим лимитом = 100 в документации, и он только начал давать мне проблемы в последнее время.
мне пришлось создать работу вокруг с помощью следующих действий:
var boxCollection = client.GetFolderItems(rootFolder.Id);
var boxFolder = boxCollection.Entries.SingleOrDefault(ic => ic.Type == "folder" && ic.Name == folderName);
мне было просто интересно, есть ли лучший способ, чтобы получить полную коллекцию с помощью ItemCollection.Entries собственности, как раньше, а из-за необходимости их повторного использования.
Спасибо!