Я кодирую SDK OneDrive C#, и мне была предоставлена папка, содержащая несколько файлов. При доступе к общей папке из onedrive.com
я могу просматривать файлы - однако при попытке проверить Item
количество детей всегда равно нулю. Я предполагаю, что это может быть какое-то смешение в моем конце или проблемах с разрешениями, но я просто хотел запустить его для проверки работоспособности.Невозможно просмотреть дочерние элементы из OneDrive C# SDK
Код:
private async Task GetItem(string id = null)
{
List<string> idsToSearch = new List<string>();
var expandValue = this.clientType == ClientType.Consumer
? "thumbnails,children(expand=thumbnails)"
: "thumbnails,children";
try
{
Item folder;
if (id == null)
{
folder = await this.oneDriveClient.Drive.Root.Request()
.Expand(expandValue).GetAsync(); //root
}
else
{
folder = await this.oneDriveClient.Drive.Items[id].Request()
.Expand(expandValue).GetAsync(); //children of root
}
WriteToFile(new List<string>(new[] { @"Folder: " + folder.Name }));
if (folder.Children.Count == 0)
{
WriteToFile(new List<string>(new[] { @"NO Children" }));
}
else
{
foreach (var child in folder.Children)
{
WriteToFile(new List<string>(new[] {
@"Children of " + folder.Name + " : " + child.Name }));
}
foreach (var item in folder.Children)
{
GetItem(item.Id);
idsToSearch.Add(item.Id);
}
}
}
catch (Exception exception)
{
PresentServiceException(exception);
}
}
Я также включил снимок Item
объекта, когда он достигает Shared объекта папки:
Update
После просматривал folder
объект еще несколько я foun d, что есть RemoteItem
, который возвращает правильное количество учетных записей детей, однако не имеет метаданных для извлечения дочерних элементов.
На скриншоте есть некоторые «Дополнительные данные» - не могли бы вы позволить нам увидеть, что это? Это может дать некоторые подсказки. Кроме того, я предполагаю, что папка имеет действительные данные (например, имя)? Если это так, у вас не должно быть проблем с разрешениями, поскольку разрешения всегда будут стекать по иерархии наследования. – Brad
@Brad - У меня тоже была эта идея, но, глядя сквозь нее, похоже, я ничего не предлагал. Однако я обновил фотографию. – jdave
Просто стандартный материал OData ... ничего не стоит :). Свойство 'Folder.ChildCount' содержит ожидаемое значение? – Brad