public async Task CreateNewTransfer() { var token = "YOUR_TOKEN_HERE"; var config = new PutioConfiguration(token); var client = new PutIoApiClient(config); await client.Transfers.CancelTransfers(new CancelTransfersRequest(59289953)); // List all transfers var allTransfersResponse = await client.Transfers.ListTransfers(); allTransfersResponse.ShouldNotBeNull(); // Add transfer var addTransferResponse = await client.Transfers.AddTransfer(new AddTransferRequest("https://www.youtube.com/watch?v=dQw4w9WgXcQ")); addTransferResponse.ShouldNotBeNull(); // Wait a bit for the transfer to complete await Task.Delay(5000); // Get status of transfer, it should have completed var transferResponse = await client.Transfers.Transfer(addTransferResponse.Id); transferResponse.ShouldNotBeNull(); // Delete the resulting file await client.Files.DeleteFiles(new DeleteFilesRequest(transferResponse.FileId.Value)); // Remove the transfer await client.Transfers.CleanTransfers(new CleanTransfersRequest(transferResponse.Id)); }
public async Task ListEveryFileAndFolder() { var token = "YOUR_TOKEN_HERE"; var config = new PutioConfiguration(token); var client = new PutIoApiClient(config); var allFileName = new List <string>(); // Start to list files based on the following parameters var listFilesResponse = await client.Files.ListFiles(new ListFilesRequest { ParentId = -1, FilePerPage = 25, }); var cursor = listFilesResponse.Cursor; allFileName.AddRange(listFilesResponse.Files.Select(x => x.Name)); // If we have a cursor then continue to list everything until we are done while (cursor != null) { var listFilesContinue = await client.Files.ListFilesContinue(new ListFilesContinueRequest(cursor, 25)); allFileName.AddRange(listFilesContinue.Files.Select(x => x.Name)); cursor = listFilesContinue.Cursor; } allFileName.ForEach(x => Debug.WriteLine(x)); }
protected BaseTest() { _handlerMock = new Mock <HttpMessageHandler>(MockBehavior.Strict); PutioConfiguration = new PutioConfiguration { Token = "TEST_TOKEN", ApiHttpClient = new HttpClient(_handlerMock.Object), UploadHttpClient = new HttpClient(_handlerMock.Object) }; PutioApiClient = new PutIoApiClient(PutioConfiguration); }
public async Task FolderAndFileUpload() { var token = "YOUR_TOKEN_HERE"; var config = new PutioConfiguration(token); var client = new PutIoApiClient(config); var folderName = RandomStringGenerator.Generate(10); var fileName = RandomStringGenerator.Generate(10); // Create new folder in root directory var newFolder = await client.Files.CreateFolder(new CreateFolderRequest(folderName, 0)); newFolder.ShouldNotBeNull(); var folderId = newFolder.Id; // Upload image to the new folder var fileBytes = System.IO.File.ReadAllBytes($"{Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(FileTests)).Location)}/Data/testimage.jpg"); await client.Files.UploadFile(new UploadFileRequest(fileBytes, fileName, folderId)); // Verify the image exists in the folder var filesInFolder = await client.Files.ListFiles(new ListFilesRequest { ParentId = folderId }); filesInFolder.ShouldNotBeNull(); filesInFolder.Files.ShouldNotBeNull(); filesInFolder.Files.Count().ShouldBe(1); var uploadedFile = filesInFolder.Files.First(); uploadedFile.Name.ShouldStartWith(fileName); uploadedFile.FileType.ShouldBe(FileType.File); // Delete the file await client.Files.DeleteFiles(new DeleteFilesRequest(uploadedFile.Id)); // Verify file no longer exists filesInFolder = await client.Files.ListFiles(new ListFilesRequest { ParentId = folderId }); filesInFolder.ShouldNotBeNull(); filesInFolder.Files.ShouldNotBeNull(); filesInFolder.Files.Count().ShouldBe(0); // Delete the folder await client.Files.DeleteFiles(new DeleteFilesRequest(folderId)); }
public async Task CreateZip() { var token = "YOUR_TOKEN_HERE"; var config = new PutioConfiguration(token); var client = new PutIoApiClient(config); var folderName = RandomStringGenerator.Generate(10); var fileName = RandomStringGenerator.Generate(10); // Create new folder in root directory var newFolder = await client.Files.CreateFolder(new CreateFolderRequest(folderName, 0)); newFolder.ShouldNotBeNull(); var folderId = newFolder.Id; // Upload image to the new folder var fileBytes = System.IO.File.ReadAllBytes($"{Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(FileTests)).Location)}/Data/testimage.jpg"); await client.Files.UploadFile(new UploadFileRequest(fileBytes, fileName, folderId)); // Verify the image exists in the folder var filesInFolder = await client.Files.ListFiles(new ListFilesRequest { ParentId = folderId }); filesInFolder.ShouldNotBeNull(); filesInFolder.Files.ShouldNotBeNull(); filesInFolder.Files.Count().ShouldBe(1); // Put the image in a zip var zipId = await client.Zips.CreateZip(new CreateZipRequest(filesInFolder.Files.First().Id)); zipId.ShouldNotBeNull(); // Lis active zip operations var zipOperations = await client.Zips.ListZips(); zipOperations.ShouldNotBeNull(); zipOperations.Count().ShouldBe(1); // Get the status of the zip var zip = await client.Zips.GetZip(zipId); zip.ShouldNotBeNull(); }
public async Task UpdateAccountSettings() { var token = "YOUR_TOKEN_HERE"; var config = new PutioConfiguration(token); var client = new PutIoApiClient(config); // Get account info for the user var accountInfo = await client.Account.GetAccountInfo(); accountInfo.ShouldNotBeNull(); // Get account settings var accountSettings = await client.Account.GetAccountSettings(); accountSettings.ShouldNotBeNull(); // Set IsInvisible to true var updateAccountSettings = new UpdateAccountSettingsRequest { IsInvisible = true }; await client.Account.UpdateAccountSettings(updateAccountSettings); // Verify setting has been updated accountSettings = await client.Account.GetAccountSettings(); accountSettings.ShouldNotBeNull(); accountSettings.IsInvisible.ShouldBeTrue(); // Set IsInvisible to false updateAccountSettings = new UpdateAccountSettingsRequest { IsInvisible = false }; await client.Account.UpdateAccountSettings(updateAccountSettings); // Verify settings has been updated accountSettings = await client.Account.GetAccountSettings(); accountSettings.ShouldNotBeNull(); accountSettings.IsInvisible.ShouldBeFalse(); }
public PutIoApiClient(PutioConfiguration putioConfiguration) { _apiClient = putioConfiguration.ApiHttpClient ?? new HttpClient(); _apiClient.BaseAddress = new Uri(putioConfiguration.BaseUrl); _apiClient.DefaultRequestHeaders.Add("authorization", $"bearer {putioConfiguration.Token}"); _uploadClient = putioConfiguration.UploadHttpClient ?? new HttpClient(); _uploadClient.BaseAddress = new Uri(putioConfiguration.BaseUploadUrl); _uploadClient.DefaultRequestHeaders.Add("authorization", $"bearer {putioConfiguration.Token}"); Account = new PutIoAccountClient(this); Files = new PutIoFileClient(this); Transfers = new PutIoTransferClient(this); Zips = new PutIoZipClient(this); Friends = new PutIoFriendClient(this); Shares = new PutIoShareClient(this); Rss = new PutIoRssClient(this); Events = new PutIoEventClient(this); }