In base a OneDrive core concepts (in precedenza SkyDrive) sono disponibili due opzioni per elencare i file, nella directory superiore o in una cartella specifica. Come hai scoperto, è possibile elencare i file top utilizzando
liveClient.GetAsync("me/skydrive/files");
e per una cartella specifica di utilizzare folderId + "/files"
, ad esempio
liveClient.GetAsync(folder.Id + "/files");
in caso GetCompleted
è possibile elencare tutti i file dalla chiave di dati
private void onFilesInformationDownloaded(object sender,
LiveOperationCompletedEventArgs e) {
if (e.Result == null) {
// check e.Error for reason why it failed
return;
}
List<object> data = (List<object>)e.Result["data"];
foreach (IDictionary<string, object> content in data) {
string type = (string)content["type"];
if (type == "folder") {
// do something with folders?
}
string filename = (string)content["name"];
string fileId = (string)content["id"];
// use fileId to download a file or list files in a folder
// there's a few more details available in content.Keys
// such as created_time and updated_time for those interested
}
}
non funziona: ho un KeyNotFoundException per e.Result [ "data"] – Calanus
Sì, sto chiedendo di elencare i file nella directory principale della cartella SkyDrive cioè me/skydrive – Calanus
puoi scorrere il dizionario e vedere le chiavi che contiene. – MBen