DeQmaTech.ZohoDocsSDK
1.6.0
.NET Core 2.1
.NET Standard 2.0
.NET Framework 4.5.2
dotnet add package DeQmaTech.ZohoDocsSDK --version 1.6.0
NuGet\Install-Package DeQmaTech.ZohoDocsSDK -Version 1.6.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DeQmaTech.ZohoDocsSDK" Version="1.6.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DeQmaTech.ZohoDocsSDK --version 1.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: DeQmaTech.ZohoDocsSDK, 1.6.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DeQmaTech.ZohoDocsSDK as a Cake Addin
#addin nuget:?package=DeQmaTech.ZohoDocsSDK&version=1.6.0
// Install DeQmaTech.ZohoDocsSDK as a Cake Tool
#tool nuget:?package=DeQmaTech.ZohoDocsSDK&version=1.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Features
- Assemblies for .NET 4.5.2 and .NET Standard 2.0 and .NET Core 2.1
- Just one external reference (Newtonsoft.Json)
- Easy installation using NuGet
- Upload/Download tracking support
- Proxy Support
- Upload/Download cancellation support
List of functions:
Token
- GenerateAuthToken
- GetAuthTokenFromBrowser
File
- AddTags
- Copy
- Delete
- Download
- DownloadAsStream
- Move
- RemoveTags
- Rename
- RevisionMetadata
- Share
- SharedDetails
- Trash
- UnShare
Folder
- Copy
- Create
- Delete
- List
- List2
- ListSubFilesRecursively
- ListSubFoldersRecursively
- Move
- Rename
- Share
- SharedDetails
- Trash
- UnShare
- Upload
Files
- Copy
- Move
Folders
- Copy
- Move
Root
- RootID
- Create
- List
- ListSubFilesRecursively
- ListSubFoldersRecursively
- Upload
- ListPublicFolder
- DownloadPublicFile
- ListTags
CodeMap:
Code simple:
//'first get auth token (one time only)
// API Mode
var tokn_APIMode = ZohoDocsSDK.Authentication.GetAuthTokenFromBrowser();
//'OR
// Browser Mode
var tokn_BrowserMode = await ZohoDocsSDK.Authentication.GenerateAuthToken("your_email", "your_password");
// set proxy and connection options
var con = new ZohoDocsSDK.ConnectionSettings { CloseConnection = true, TimeOut = TimeSpan.FromMinutes(30), Proxy = new ZohoDocsSDK.ProxyConfig { SetProxy = true, ProxyIP = "127.0.0.1", ProxyPort = 8888, ProxyUsername = "user", ProxyPassword = "pass" } };
// set api client without connection options
//ZohoDocsSDK.IClient CLNT = new ZohoDocsSDK.ZClient("xxxxxxxtoknxxxxxxx")
// set api client with connection options
ZohoDocsSDK.IClient CLNT = new ZohoDocsSDK.ZClient("xxxxxxxtoknxxxxxxx", con);
// general
await CLNT.ListPublicFolder(new Uri("https://www.zoho.com/folder/xxxxxx"));
await CLNT.ListTags();
var cts = new System.Threading.CancellationTokenSource();
var _ReportCls = new Progress<ZohoDocsSDK.ReportStatus>(delegate (ZohoDocsSDK.ReportStatus ReportClass)
{
Console.WriteLine($"{ReportClass.BytesTransferred}/{ReportClass.TotalBytes}");
Console.WriteLine(ReportClass.ProgressPercentage);
Console.WriteLine(ReportClass.TextStatus);
});
await CLNT.DownloadPublicFile("https://www.zoho.com/file/xxxxxx", "c:\\", "fle.zip", _ReportCls, cts.Token);
//Root
await CLNT.Root().List();
await CLNT.Root().ListSubFilesRecursively();
await CLNT.Root().ListSubFoldersRecursively();
await CLNT.Root().Upload("c:\\file.mp4", UploadTypes.FilePath, "file.mp4", null, _ReportCls, cts.Token);
// single File
await CLNT.File("file_id").Copy("folder_id");
await CLNT.File("file_id").Move("folder_id");
await CLNT.File("file_id").Trash();
await CLNT.File("file_id").Delete();
await CLNT.File("file_id").AddTags(new string[] { "tag1","tag2"});
await CLNT.File("file_id").RemoveTags (new string[] { "tag1", "tag2" });
await CLNT.File("file_id").Download("c:\\downloads", "raw.zip",null,_ReportCls,cts.Token);
await CLNT.File("file_id").DownloadAsStream(_ReportCls, cts.Token);
await CLNT.File("file_id").Rename("raw.zip");
await CLNT.File("file_id").RevisionMetadata( RevisionTypeEnum.shared);
await CLNT.File("file_id").Share( PermissionEnum.@readonly,"1234",DateTime.Now);
await CLNT.File("file_id").UnShare();
await CLNT.File("file_id").SharedDetails();
// single Folder
await CLNT.Folder("folder_id").Create("new folder");
await CLNT.Folder("folder_id").List();
await CLNT.Folder("folder_id").List2(60,0);
await CLNT.Folder("folder_id").Upload("c:\\file.mp4", UploadTypes.FilePath, "file.mp4", null, _ReportCls, cts.Token);
await CLNT.Folder("folder_id").Delete();
await CLNT.Folder("folder_id").Move("folder_id");
await CLNT.Folder("folder_id").Rename("new folder name");
await CLNT.Folder("folder_id").Share(PermissionEnum.@readonly, "12345");
await CLNT.Folder("folder_id").SharedDetails();
await CLNT.Folder("folder_id").Trash();
await CLNT.Folder("folder_id").UnShare();
await CLNT.Folder("folder_id").ListSubFilesRecursively();
await CLNT.Folder("folder_id").ListSubFoldersRecursively();
await CLNT.Folder("folder_id").Copy("folder_id");
// multiple
await CLNT.Files(new string[] { "file_id", "file_id" }).Move("folder_id");
await CLNT.Files(new string[] { "file_id", "file_id" }).Copy("folder_id");
await CLNT.Folders(new string[] { "folder_id", "folder_id" }).Copy("folder_id");
await CLNT.Folders(new string[] { "folder_id", "folder_id" }).Move("folder_id");
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net452 net46 net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 2.1
- Microsoft.AspNet.WebApi.Client (>= 5.2.3)
- Newtonsoft.Json (>= 11.0.2)
- System.Net.Http (>= 4.3.3)
-
.NETFramework 4.5.2
- Microsoft.AspNet.WebApi.Client (>= 5.2.3)
- Newtonsoft.Json (>= 11.0.2)
- System.Net.Http (>= 4.3.3)
-
.NETStandard 2.0
- Microsoft.AspNet.WebApi.Client (>= 5.2.3)
- Newtonsoft.Json (>= 11.0.2)
- System.Net.Http (>= 4.3.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.