Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }