/// <summary> /// Gets the deltas for a user's folders and files. /// </summary> /// <param name="cursor">The value returned from the prior call to GetDelta or an empty string</param> /// <returns></returns> public async Task <DeltaPage> GetDelta(string cursor) { var requestUrl = MakeRequestString("1/delta", ApiType.Base); var request = new HttpRequest(HttpMethod.Post, requestUrl); request.AddParameter("cursor", cursor); _oauthHandler.Authenticate(request); var response = await _httpClient.SendAsync(request); //TODO - Error Handling string responseBody = await response.Content.ReadAsStringAsync(); var deltaResponse = JsonConvert.DeserializeObject <DeltaPageInternal>(responseBody); var deltaPage = new DeltaPage { Cursor = deltaResponse.Cursor, Has_More = deltaResponse.Has_More, Reset = deltaResponse.Reset, Entries = new List <DeltaEntry>() }; foreach (var stringList in deltaResponse.Entries) { deltaPage.Entries.Add(StringListToDeltaEntry(stringList)); } return(deltaPage); }
public object Deserialize(JsonValue value, JsonMapper mapper) { DeltaPage deltaPage = new DeltaPage(); deltaPage.Cursor = value.GetValue <string>("cursor"); deltaPage.HasMore = value.GetValue <bool>("has_more"); deltaPage.Reset = value.GetValue <bool>("reset"); deltaPage.Entries = new List <DeltaEntry>(); JsonValue entriesValue = value.GetValue("entries"); if (entriesValue != null) { foreach (JsonValue entryValue in entriesValue.GetValues()) { DeltaEntry deltaEntry = new DeltaEntry(); deltaEntry.Path = entryValue.GetValue <string>(0); JsonValue metadataValue = entryValue.GetValue(1) as JsonObject; if (metadataValue != null) { deltaEntry.Metadata = mapper.Deserialize <Entry>(metadataValue); } deltaPage.Entries.Add(deltaEntry); } } return(deltaPage); }
/// <summary> /// Gets the deltas for a user's folders and files. /// </summary> /// <param name="cursor">The value returned from the prior call to GetDelta or an empty string</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <DeltaPage> GetDelta(string cursor, CancellationToken cancellationToken) { var requestUrl = MakeRequestString("1/delta", ApiType.Base); var request = new HttpRequest(HttpMethod.Post, requestUrl); request.AddParameter("cursor", cursor); var deltaResponse = await SendAsync <DeltaPageInternal>(request, cancellationToken); var deltaPage = new DeltaPage { Cursor = deltaResponse.Cursor, Has_More = deltaResponse.Has_More, Reset = deltaResponse.Reset, Entries = new List <DeltaEntry>() }; foreach (var stringList in deltaResponse.Entries) { deltaPage.Entries.Add(JRawListToDeltaEntry(stringList)); } return(deltaPage); }
/// <summary> /// Gets the deltas for a user's folders and files. /// </summary> /// <param name="cursor">The value returned from the prior call to GetDelta or an empty string</param> /// <param name="pathPrefix">If present, this parameter filters the response to only include entries at or under the specified path</param> /// <param name="locale">If present the metadata returned will have its size field translated based on the given locale</param> /// <param name="includeMediaInfo">If true, each file will include a photo_info dictionary for photos and a video_info dictionary for videos with additional media info. When include_media_info is specified, files will only appear in delta responses when the media info is ready. If you use the include_media_info parameter, you must continue to pass the same value on subsequent calls using the returned cursor.</param> /// <returns></returns> public DeltaPage GetDelta(string cursor, string pathPrefix, string locale, bool includeMediaInfo) { if (!pathPrefix.StartsWith("/")) { pathPrefix = "/" + pathPrefix; } var request = _requestHelper.CreateDeltaRequest(cursor, pathPrefix, locale, includeMediaInfo); var deltaResponse = Execute <DeltaPageInternal>(ApiType.Base, request); var deltaPage = new DeltaPage { Cursor = deltaResponse.Cursor, Has_More = deltaResponse.Has_More, Reset = deltaResponse.Reset, Entries = new List <DeltaEntry>() }; foreach (var stringList in deltaResponse.Entries) { deltaPage.Entries.Add(StringListToDeltaEntry(stringList)); } return(deltaPage); }
static void Main() { DropboxServiceProvider dropboxServiceProvider = new DropboxServiceProvider(DropboxAppKey, DropboxAppSecret, AccessLevel.AppFolder); // Authenticate the application (if not authenticated) and load the OAuth token if (!File.Exists(OAuthTokenFileName)) { AuthorizeAppOAuth(dropboxServiceProvider); } OAuthToken oauthAccessToken = LoadOAuthToken(); // Login in Dropbox IDropbox dropbox = dropboxServiceProvider.GetApi(oauthAccessToken.Value, oauthAccessToken.Secret); // Display user name (from his profile) DropboxProfile profile = dropbox.GetUserProfileAsync().Result; Console.WriteLine("Hi " + profile.DisplayName + "!"); // Create new folder string newFolderName = "BatmanAlbum"; DeltaPage deltaPage = dropbox.DeltaAsync(null).Result; var isFolderExist = deltaPage.Entries.Any(x => x.Path == ("/" + newFolderName).ToLower()); if (!isFolderExist) { Entry createFolderEntry = dropbox.CreateFolderAsync(newFolderName).Result; Console.WriteLine("Created folder: {0}", createFolderEntry.Path); } var folderPath = @"../../Pics"; DirectoryInfo picturesFolder = new DirectoryInfo(folderPath); foreach (var fileName in picturesFolder.GetFiles("*.jpg")) { // Upload a file Entry uploadFileEntry = dropbox.UploadFileAsync( new FileResource(fileName.FullName), "/" + newFolderName + "/" + fileName.Name).Result; Console.WriteLine("Uploaded a file: {0}", uploadFileEntry.Path); // Share a file DropboxLink sharedUrl = dropbox.GetShareableLinkAsync(uploadFileEntry.Path).Result; Process.Start(sharedUrl.Url); } }
/// <summary> /// Gets the deltas for a user's folders and files. /// </summary> /// <param name="cursor">The value returned from the prior call to GetDelta or an empty string</param> /// <returns></returns> public DeltaPage GetDelta(string cursor) { var request = _requestHelper.CreateDeltaRequest(cursor); var deltaResponse = Execute <DeltaPageInternal>(ApiType.Base, request); var deltaPage = new DeltaPage { Cursor = deltaResponse.Cursor, Has_More = deltaResponse.Has_More, Reset = deltaResponse.Reset, Entries = new List <DeltaEntry>() }; foreach (var stringList in deltaResponse.Entries) { deltaPage.Entries.Add(StringListToDeltaEntry(stringList)); } return(deltaPage); }
public void Delta() { mockServer.ExpectNewRequest() .AndExpectUri("https://api.dropbox.com/1/delta/") .AndExpectMethod(HttpMethod.POST) .AndExpectBody("cursor=123azed54") .AndRespondWith(EmbeddedResource("Delta.json"), responseHeaders); #if NET_4_0 || SILVERLIGHT_5 DeltaPage deltaPage = dropbox.DeltaAsync("123azed54").Result; #else DeltaPage deltaPage = dropbox.Delta("123azed54"); #endif Assert.AreEqual("AuYe6kpu-M6pToHfszmwEtnEuE8Xiz4NqiDs4BKp2w2OeJxj_JqrzMCww5VZ5l8SAwOjGwMDAzMDBAjpF-cmFpWoFeenlSjoKiSlpKQxi_n8YkAAff3EgoJi_eKCosy8dL281BKF4vzkzMQchcLSzOTs4hKgbgUNoBKFtPyclNQiTdb3W-yQtAvoJyVmJiok5-cVl-aUAI1gyWl_D5IAANo_J44", deltaPage.Cursor); Assert.AreEqual(true, deltaPage.HasMore); Assert.AreEqual(true, deltaPage.Reset); Assert.AreEqual(11, deltaPage.Entries.Count); Assert.AreEqual("/photos", deltaPage.Entries[0].Path); Assert.IsNotNull(deltaPage.Entries[0].Metadata); Assert.AreEqual("/Photos", deltaPage.Entries[0].Metadata.Path); Assert.AreEqual("/deleted_dir", deltaPage.Entries[10].Path); Assert.IsNull(deltaPage.Entries[10].Metadata); }
public void GetDelta(String cursor) { try { DeltaPage delta = this.client.GetDelta(cursor); List <DeltaEntry> deltaEntries = delta.Entries; foreach (DeltaEntry deltaEntry in deltaEntries) { MessageBox.Show(new Form { TopMost = true }, deltaEntry.MetaData.Path + " : " + client.GetMetaData(deltaEntry.MetaData.Path, null).Hash); // } if (delta.Has_More == true) { GetDelta(delta.Cursor); } } catch (DropNet.Exceptions.DropboxException ex) { MessageBox.Show(ex.Message); } }
public object Deserialize(JsonValue value, JsonMapper mapper) { DeltaPage deltaPage = new DeltaPage(); deltaPage.Cursor = value.GetValue<string>("cursor"); deltaPage.HasMore = value.GetValue<bool>("has_more"); deltaPage.Reset = value.GetValue<bool>("reset"); deltaPage.Entries = new List<DeltaEntry>(); JsonValue entriesValue = value.GetValue("entries"); if (entriesValue != null) { foreach (JsonValue entryValue in entriesValue.GetValues()) { DeltaEntry deltaEntry = new DeltaEntry(); deltaEntry.Path = entryValue.GetValue<string>(0); JsonValue metadataValue = entryValue.GetValue(1) as JsonObject; if (metadataValue != null) { deltaEntry.Metadata = mapper.Deserialize<Entry>(metadataValue); } deltaPage.Entries.Add(deltaEntry); } } return deltaPage; }