DeQmaTech.SaruchSDK
1.2.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package DeQmaTech.SaruchSDK --version 1.2.0
NuGet\Install-Package DeQmaTech.SaruchSDK -Version 1.2.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.SaruchSDK" Version="1.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DeQmaTech.SaruchSDK --version 1.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: DeQmaTech.SaruchSDK, 1.2.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.SaruchSDK as a Cake Addin
#addin nuget:?package=DeQmaTech.SaruchSDK&version=1.2.0
// Install DeQmaTech.SaruchSDK as a Cake Tool
#tool nuget:?package=DeQmaTech.SaruchSDK&version=1.2.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
Functions:
IAccount
- UserInfo
- StorageInfo
- RenewToken
- GetConversionSetings
- ChangeConversionSetings
IFolder
- List
- Metadata
- Create
- Rename
- Delete
- Move
- MoveMultiple
- DeleteMultiple
IShare
- Privacy
- Monetize
- PrivacyMultiple
- MonetizeMultiple
ISubtitles
- Upload
- Metadata
- Metadata2
- Delete
IThumbnail
- SetImg
- Delete
- GetImg
IVideo
- GetDownloadUrl
- Download
- UploadLocal
- UploadRemote
- UploadRemoteQueue
- UploadRemoteSearch
- UploadRemoteStatus
- UploadRemoteDelete
- UploadRemoteClear
- Rename
- Move
- Delete
- MoveMultiple
- DeleteMultiple
- Search
Code simple:
Async Sub GetToken()
Dim tkn = Await SaruchSDK.GetToken.GetToken_OneHour("user", "pass")
DataGridView1.Rows.Add(tkn.access_token, tkn.expires_in)
End Sub
Sub SetClient()
Dim MyClient As SaruchSDK.IClient = New SaruchSDK.SClient("access token")
End Sub
Sub SetClientWithOptions()
Dim Optians As New SaruchSDK.ConnectionSettings With {.CloseConnection = True, .TimeOut = TimeSpan.FromMinutes(30), .Proxy = New SaruchSDK.ProxyConfig With {.ProxyIP = "172.0.0.0", .ProxyPort = 80, .ProxyUsername = "myname", .ProxyPassword = "myPass", .SetProxy = True}}
Dim MyClient As SaruchSDK.IClient = New SaruchSDK.SClient("access token", Optians)
End Sub
Async Sub GetStorageInfo()
Dim result = Await MyClient.Account.StorageInfo()
DataGridView1.Rows.Add(result.amount, result.downloads, result.storage)
End Sub
Async Sub GetUserInfo()
Dim result = Await MyClient.Account.UserInfo()
DataGridView1.Rows.Add(result.email, result.name)
End Sub
Async Sub ListMyVideosAndFolders()
Dim result = Await MyClient.Folder.List("folder id / root = null", 1, SortEnum.created_at, OrderByEnum.asc)
For Each vid In result.folders
DataGridView1.Rows.Add(vid.name, vid.id, vid.parent_id, vid.updated_at)
Next
For Each vid In result.videos.data
DataGridView1.Rows.Add(vid.name, vid.VideoUrl, vid.size, vid.created_at, vid.dmca, vid.duration, vid.folder_id, vid.public)
Next
End Sub
Async Sub DeleteVideoAndFolder()
Dim result = Await MyClient.Video.Delete("video id")
Dim resultD = Await MyClient.Folder.Delete("folder id")
End Sub
Async Sub CreateNewFolder()
Dim result = Await MyClient.Folder.Create("parent folder id", "new folder name")
End Sub
Async Sub RenameVideoAndFolder()
Dim result = Await MyClient.Video.Rename("video id", "new file name")
Dim resultD = Await MyClient.Folder.Rename("folder id", "new folder name")
End Sub
Async Sub Upload_Local_WithProgressTracking()
Dim UploadCancellationToken As New Threading.CancellationTokenSource()
Dim _ReportCls As New Progress(Of SaruchSDK.ReportStatus)(Sub(ReportClass As SaruchSDK.ReportStatus)
Label1.Text = String.Format("{0}/{1}", (ReportClass.BytesTransferred), (ReportClass.TotalBytes))
ProgressBar1.Value = CInt(ReportClass.ProgressPercentage)
Label2.Text = CStr(ReportClass.TextStatus)
End Sub)
Await MyClient.Video.UploadLocal("J:\DB\myvideo.mp4", UploadTypes.FilePath, "folder id", "myvideo.mp4", _ReportCls, UploadCancellationToken.Token)
End Sub
Async Sub Download_File_WithProgressTracking()
Dim DownloadCancellationToken As New Threading.CancellationTokenSource()
Dim _ReportCls As New Progress(Of SaruchSDK.ReportStatus)(Sub(ReportClass As SaruchSDK.ReportStatus)
Label1.Text = String.Format("{0}/{1}", (ReportClass.BytesTransferred), (ReportClass.TotalBytes))
ProgressBar1.Value = CInt(ReportClass.ProgressPercentage)
Label2.Text = CStr(ReportClass.TextStatus)
End Sub)
Dim FUrl = Await MyClient.Video.GetDownloadUrl("video id")
Await MyClient.Video.Download(FUrl.video.Downloads(0).DownloadUrl, "J:\DB\", "https://saruch.co/videos/xxxx", _ReportCls, DownloadCancellationToken.Token)
End Sub
Async Sub SetVideoPublic()
Dim result = Await MyClient.Share.Privacy("video id", True)
End Sub
Async Sub GetVideoThumbnail()
Dim DownloadCancellationToken As New Threading.CancellationTokenSource()
Dim _ReportCls As New Progress(Of SaruchSDK.ReportStatus)(Sub(ReportClass As SaruchSDK.ReportStatus)
Label1.Text = String.Format("{0}/{1}", (ReportClass.BytesTransferred), (ReportClass.TotalBytes))
ProgressBar1.Value = CInt(ReportClass.ProgressPercentage)
Label2.Text = CStr(ReportClass.TextStatus)
End Sub)
Dim result As IO.Stream = Await MyClient.Thumbnail.GetImg("video id", _ReportCls, DownloadCancellationToken.Token)
End Sub
Async Sub SetVideoThumbnail()
Dim UploadCancellationToken As New Threading.CancellationTokenSource()
Dim _ReportCls As New Progress(Of SaruchSDK.ReportStatus)(Sub(ReportClass As SaruchSDK.ReportStatus)
Label1.Text = String.Format("{0}/{1}", (ReportClass.BytesTransferred), (ReportClass.TotalBytes))
ProgressBar1.Value = CInt(ReportClass.ProgressPercentage)
Label2.Text = CStr(ReportClass.TextStatus)
End Sub)
Await MyClient.Thumbnail.SetImg("J:\DB\myPhoto.jpg", UploadTypes.FilePath, "video id", _ReportCls, UploadCancellationToken.Token)
End Sub
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 2.1
- Newtonsoft.Json (>= 11.0.2)
- System.Net.Http (>= 4.3.3)
-
.NETFramework 4.5.2
- Newtonsoft.Json (>= 11.0.2)
-
.NETStandard 2.0
- 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.