Download:https://github.com/jackkoolage/4sharedSDK/releasesNuGet:
- 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
Token
- Login
- Register
Account(Mine)
- UserInfo
- UpdateUserInfo
- GetAvatarPicture
- SetAvatarPicture
Comment
- ListComments
- Create
- Delete
- Reply
- ReportAsSpam
- UnReportAsSpam
Data
- SearchRoot
- EmptyRecycleBin
- ListRoot
- RootID
- RecycleBinID
- ListRecycleBin
- RestoreRecycleBin
- GetLinkForFile
File
- Upload
- UploadLargeFile
- Update
- UpdateLargeFile
- Copy
- CopyMultiple
- Move
- MoveMultiple
- Trash
- UnTrash
- TrashMultiple
- Delete
- DeleteMultiple
- Metadata
- EditMetadata
- ChangePrivacy
- Rename
- Download
- DownloadLargeFile
- DownloadAsStream
- ImportToMyAccount
- ThumbnailUrl
- UnZip
- Exists
Folder
- Password
- SetDescription
- ChangePermission
- ChangePrivacy
- Search
- ListSubFiles
- ListSubFolders
- Create
- Copy
- CopyMultiple
- Move
- MoveMultiple
- UnTrash
- Trash
- Delete
- DeleteMultiple
- TrashMultiple
- Rename
- Metadata
- Exists
- ExistsInTargetFolder
User
- SearchFiles
- Metadata
- AvatarPicture
- ListFilesRelatedToFile
AsyncFunctiontasks()AsTask'first login (one time only)Dimtokn=AwaitFourSharedSDK.GetToken.Login_Base64("your_email","your_password")''set proxy and connection optionsDimconAsNewFourSharedSDK.ConnectionSettingsWith{.CloseConnection=True,.TimeOut=TimeSpan.FromMinutes(30),.Proxy=NewFourSharedSDK.ProxyConfigWith{.SetProxy=True,.ProxyIP="127.0.0.1",.ProxyPort=8888,.ProxyUsername="user",.ProxyPassword="pass"}}''set api clientDimclientAsFourSharedSDK.IClient=NewFourSharedSDK.FClient(tokn,Nothing)''functions:'AccountAwaitclient.Account.GetAvatarPicture(ImageSizeEnum._72x72)Dim_ReportClsAsNewProgress(OfFourSharedSDK.ReportStatus)(Sub(ReportClassAsFourSharedSDK.ReportStatus)Label1.Text=String.Format("{0}/{1}",(ReportClass.BytesTransferred),(ReportClass.TotalBytes))Label1.Text=CInt(ReportClass.ProgressPercentage)Label1.Text=If(CStr(ReportClass.TextStatus)IsNothing,"Uploading...",CStr(ReportClass.TextStatus))EndSub)Awaitclient.Account.SetAvatarPicture("c:\\pic.jpg",UploadTypes.FilePath,"pic.jpg",_ReportCls,Nothing)Awaitclient.Account.UpdateUserInfo("first_name","last_name","pass","email",AllowSearchEnum.disabled)Awaitclient.Account.UserInfo''CommentsAwaitclient.Comments.Create("file_id","this is comment")Awaitclient.Comments.Delete("file_id","comment_id")Awaitclient.Comments.ListComments("file_id",50,0)Awaitclient.Comments.Reply("file_id","comment_id","this is replay to an comment")Awaitclient.Comments.ReportAsSpam("comment_id")Awaitclient.Comments.UnReportAsSpam("comment_id")''DataAwaitclient.Data.EmptyRecycleBinAwaitclient.Data.GetLinkForFileAwaitclient.Data.ListRecycleBin(Nothing,50,0)Awaitclient.Data.ListRoot("root_id",50,0)Awaitclient.Data.RecycleBinID("root_id")Awaitclient.Data.RestoreRecycleBin(Nothing)Awaitclient.Data.RootID()Awaitclient.Data.SearchRoot("emy",FileTypeEnum.Music,50,0)''FilesAwaitclient.Files.ChangePrivacy("",True)Awaitclient.Files.Copy("file_id","folder_id","newName")Awaitclient.Files.CopyMultiple(NewList(OfString)From{{"file_id"},{"file_id"}},"folder_id")Awaitclient.Files.Delete("file_id")Awaitclient.Files.DeleteMultiple(NewList(OfString)From{{"file_id"},{"file_id"}})Awaitclient.Files.Download("/My 4shared/oppo/bouncy1.8.5.zip","c:\\",_ReportCls,Nothing)Awaitclient.Files.DownloadAsStream("/My 4shared/oppo/bouncy1.8.5.zip",_ReportCls,Nothing)Awaitclient.Files.DownloadLargeFile("/My 4shared/oppo/bouncy1.8.5.zip","c:\\",_ReportCls,Nothing)Awaitclient.Files.EditMetadata("file_id","this is file","sdk,api,cloud")Awaitclient.Files.Exists("file_id")Awaitclient.Files.ImportToMyAccount("file_id","folder_id")Awaitclient.Files.Metadata("file_id",AddFieldsEnum.ImageMetainfo)Awaitclient.Files.Move("file_id","folder_id")Awaitclient.Files.MoveMultiple(NewList(OfString)From{{"file_id"},{"file_id"}},"folder_id")Awaitclient.Files.Rename("file_id","newName")Awaitclient.Files.ThumbnailUrl("file_id",ImageSizeEnum._320x240)Awaitclient.Files.Trash("file_id")Awaitclient.Files.TrashMultiple(NewList(OfString)From{{"file_id"},{"file_id"}})Awaitclient.Files.UnTrash("file_id")Awaitclient.Files.UnZip("file_id")Awaitclient.Files.Update("c:\\fle.mp4",UploadTypes.FilePath,"file_id","folder_id","fle.mp4",_ReportCls,Nothing)Awaitclient.Files.UpdateLargeFile("c:\\fle.mp4",UploadTypes.FilePath,"file_id","folder_id","fle.mp4",12345,_ReportCls,Nothing)Awaitclient.Files.Upload("c:\\fle.mp4",UploadTypes.FilePath,"folder_id","fle.mp4",_ReportCls,Nothing)Awaitclient.Files.UploadLargeFile("c:\\fle.mp4",UploadTypes.FilePath,"folder_id","fle.mp4",123456,_ReportCls,Nothing)''FoldersAwaitclient.Folders.ChangePermission("folder_id",FolderPermissionsEnum.read)Awaitclient.Folders.ChangePrivacy("",PrivacyEnum.private)Awaitclient.Folders.Copy("folder_id","folder_id",Nothing)Awaitclient.Folders.CopyMultiple(NewList(OfString)From{{"folder_id"},{"folder_id"}},"folder_id")Awaitclient.Folders.Create("folder_id","new folder","music dir")Awaitclient.Folders.Delete("folder_id")Awaitclient.Folders.DeleteMultiple(NewList(OfString)From{{"folder_id"},{"folder_id"}})Awaitclient.Folders.Exists("folder_id")Awaitclient.Folders.ExistsInTargetFolder("work folder","folder_id")Awaitclient.Folders.ListSubFiles("folder_id",FileTypeEnum.Video,AddFieldsEnum.id3,50,0)Awaitclient.Folders.ListSubFolders("folder_id",50,0)Awaitclient.Folders.Metadata("folder_id")Awaitclient.Folders.Move("folder_id","folder_id",Nothing)Awaitclient.Folders.MoveMultiple(NewList(OfString)From{{"folder_id"},{"folder_id"}},"folder_id")Awaitclient.Folders.Password("folder_id","1234")Awaitclient.Folders.Rename("folder_id","new name")Awaitclient.Folders.Search("folder_id","emy",FileTypeEnum.Video,50,0)Awaitclient.Folders.SetDescription("folder_id","this is des")Awaitclient.Folders.Trash("folder_id")Awaitclient.Folders.TrashMultiple(NewList(OfString)From{{"folder_id"},{"folder_id"}})Awaitclient.Folders.UnTrash("folder_id")''UsersAwaitclient.Users.AvatarPicture("user_id",ImageSizeEnum._320x240)Awaitclient.Users.ListFilesRelatedToFile("file_id",50,0)Awaitclient.Users.Metadata("user_id")Awaitclient.Users.SearchFiles("emy",FilesFilterEnum.all,FilesTypeEnum.asf,5000,60000,SortByEnum.name,OrderByEnum.asc,50,0)EndFunction
```