public override SyncEntry CreateSyncEntryForAdapterItem(IAdapterItem item, SyncEntry parentEntry) { GoogleDriveAdapterItem adapterItem = item as GoogleDriveAdapterItem; Pre.Assert(adapterItem != null, "adapterItem != null"); Pre.Assert(adapterItem.Item != null, "adapterItem.Item != null"); return(this.CreateEntry(adapterItem.Item, parentEntry)); }
public async Task <IEnumerable <Item> > GetChildItems(GoogleDriveAdapterItem adapterItem) { string[] fields = { "files(id", "name", "mimeType", "createdTime", "modifiedTime", "md5Checksum", "size)" }; string requestUri = string.Format( GoogleDriveApiBaseAddress + "/files?q={0}&fields={1}", HttpUtility.UrlEncode(string.Format("'{0}' in parents", adapterItem.Item.Id)), HttpUtility.UrlEncode(string.Join(",", fields))); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUri); HttpResponseMessage response = await this.SendRequest(request).ConfigureAwait(false); // Request was successful. Read the content returned. string content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var itemList = JsonConvert.DeserializeObject <ItemList>(content); return(itemList.Files); }
public override IEnumerable <IAdapterItem> GetAdapterItems(IAdapterItem folder) { if (folder == null) { Item root = this.googleDriveClient.GetItemById("root").Result; return(new List <IAdapterItem>() { new GoogleDriveAdapterItem(root, null, this) }); } GoogleDriveAdapterItem adapterItem = folder as GoogleDriveAdapterItem; Pre.Assert(adapterItem != null, "adapterItem != null"); var items = this.googleDriveClient.GetChildItems(adapterItem).Result; IEnumerable <GoogleDriveAdapterItem> adapterItems = items.Select(i => new GoogleDriveAdapterItem(i, folder, this)); return(adapterItems); }