public List <OneDriveContent> GetFiles(OneDriveContent odc, out string pathId) { var pathUri = new Uri(Root + "/drive/root"); if (odc != null) { pathUri = new Uri(Root + "/drive/items/" + odc.Id); } var pathJson = GetResponse(pathUri); var oPath = (Hashtable)Nikse.Json.JSON.JsonDecode(pathJson); pathId = oPath["id"].ToString(); var uri = new Uri(Root + "/drive/root/children"); if (odc != null) { uri = new Uri(Root + "/drive/items/" + odc.Id + "/children"); } var json = GetResponse(uri); var o = (Hashtable)Nikse.Json.JSON.JsonDecode(json); var list = new List <OneDriveContent>(); foreach (Hashtable ht in (o["value"] as ArrayList)) { OneDriveContent file = new OneDriveContent(); if (ht.ContainsKey("id")) { file.Id = ht["id"].ToString(); file.Name = ht["name"].ToString(); file.Size = Convert.ToInt64(ht["size"].ToString()); file.UpdatedTime = Convert.ToDateTime(ht["lastModifiedDateTime"].ToString()); if (ht["parentReference"] != null) { var parentElements = ht["parentReference"] as Hashtable; if (parentElements != null && parentElements["id"] != null) { file.ParentId = parentElements["id"].ToString(); } if (parentElements != null && parentElements["path"] != null) { file.Path = parentElements["path"].ToString(); } } if (ht["folder"] != null) { file.Type = "folder"; } else { file.Type = "file"; } list.Add(file); } } return(list); }
public byte[] DownloadFile(OneDriveContent oneDriveContent) { var uri = new Uri(Root + "/drive/items/" + oneDriveContent.Id + "/content"); var webRequest = WebRequest.Create(uri); webRequest.Headers.Add("Authorization", "Bearer " + OAuth2Token.access_token); var request = (HttpWebRequest)webRequest; request.Method = WebRequestMethods.Http.Get; try { var response = request.GetResponse(); using (var ms = new MemoryStream()) { response.GetResponseStream().CopyTo(ms); return(ms.ToArray()); } } catch (Exception excetion) { System.Windows.Forms.MessageBox.Show(excetion.Message); } return(null); }