public static void HandleFolderCreationAndSharing(string folderPath, string emailAddress)
        {
            // GET Dropbox oauth2AccessToken from the Dropbox app you create.
            var dropboxClient = new Dropbox.Api.DropboxClient("");

            FolderMetadata folderData;

            // Try to Get folder
            try
            {
                var folders = dropboxClient.Files.ListFolderAsync(folderPath, true).Result;
                folderData = folders.Entries[0].AsFolder;
            }
            catch
            {
                // Create the folder if not exist
                folderData = dropboxClient.Files.CreateFolderAsync(folderPath).Result;
            }

            string shareId = folderData.SharedFolderId;

            //Initial Share if not sharing enabled on the folder
            //This only shares the folder with the Dropbox owner
            if (folderData.SharedFolderId == null)
            {
                shareId = dropboxClient.Sharing.ShareFolderAsync(folderPath).Result.AsComplete.Value.SharedFolderId;
            }


            MemberSelector.Email mailMember = new MemberSelector.Email(emailAddress);
            AddMember            addMember  = new AddMember(mailMember, AccessLevel.Editor.Instance);

            AddFolderMemberArg args2 = new AddFolderMemberArg(shareId, new List <AddMember>()
            {
                addMember
            }, false, "This is a message sent from the app trial");

            dropboxClient.Sharing.AddFolderMemberAsync(args2).Wait();
        }
        public DropboxPage(string authToken)
        {
            var client = new Dropbox.Api.DropboxClient(oauth2AccessToken: authToken);

            InitializeComponent();
        }
Пример #3
0
        private async void Button1_Click(object sender, EventArgs e)
        {
            string accessToken = "Lzk0cOUr-BoAAAAAAABn1QgKontvLa2ma0vtCU24NTo9vEeBTeFSjiROUL5rY_6F";
            string appKey      = "e7852uopirsqcja";
            string appSecret   = "dvhf2ijy2z99ckg";

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                foreach (string fileName in openFileDialog1.FileNames)
                {
                    LogMessage(fileName);

                    Dropbox.DropboxClient client = new Dropbox.DropboxClient(appKey, appSecret);

                    if (Path.GetExtension(fileName) == ".mp4")
                    {
                        LogMessage($"Cannot process mp4 file {fileName}");

                        continue;
                    }

                    string fileNameOnDropbox = Path.GetFileName(fileName);

                    UploadFileRequest request = new UploadFileRequest(fileNameOnDropbox);

                    Image image = Image.FromFile(fileName);

                    using (MemoryStream stream = new MemoryStream())
                    {
                        image.Save(stream, image.RawFormat);

                        stream.Position = 0;

                        await client.UploadFileAsync(request, stream, accessToken);
                    }

                    using (var apiClient = new Dropbox.Api.DropboxClient(accessToken))
                    {
                        string fn = $"/{fileNameOnDropbox}";

                        ListSharedLinksResult sharedLinksResult = await apiClient.Sharing.ListSharedLinksAsync(new ListSharedLinksArg(fn));

                        string url = string.Empty;

                        if (sharedLinksResult.Links.Count > 0)
                        {
                            url = sharedLinksResult.Links[0].Url;
                        }
                        else
                        {
                            SharedLinkMetadata sharedLinkMetaData = await apiClient.Sharing.CreateSharedLinkWithSettingsAsync(fn);

                            url = sharedLinkMetaData.Url;

                            //DatabaseOperations.
                        }

                        textboxFeedBack.Text += $"Url = {url}";
                    }
                }
            }
        }
Пример #4
0
 public DropBoxService(string token)
 {
     _client = new Dropbox.Api.DropboxClient(token);
 }