Загрузка в Dropbox с помощью Sharpbox API - PullRequest
5 голосов
/ 26 марта 2012

Я пытаюсь использовать Sharpbox API для загрузки файла в мою учетную запись Dropbox. Однако, когда я пытаюсь загрузить файл в папку «Public», я получаю сообщение об ошибке: «Не удалось получить дочерние элементы с сервера» .

Я выполнил шаги на стр. 10-11 документации pdf , и вот код, который я сейчас использую (в качестве теста я пытаюсь загрузить файл token.txt):

Public Sub StoreOnDropbox()

    Dim oDBox As New CloudStorage
    Dim oDBoxConfig As AppLimit.CloudComputing.SharpBox.ICloudStorageConfiguration = CloudStorage.GetCloudConfigurationEasy(nSupportedCloudConfigurations.DropBox)
    Dim oAccessToken As ICloudStorageAccessToken = Nothing

    Using fs As IO.FileStream = File.Open("C:\Users\davidd5\Desktop\token.txt", FileMode.Open, FileAccess.Read, FileShare.None)
        oAccessToken = oDBox.DeserializeSecurityToken(fs)
    End Using
    Dim oStorageToken = oDBox.Open(oDBoxConfig, oAccessToken)
    Dim srcFile = Environment.ExpandEnvironmentVariables("C:\Users\davidd5\Desktop\token.txt")
    Dim publicFolder = oDBox.GetFolder("/Public")
    oDBox.UploadFile(srcFile, publicFolder)

    oDBox.Close()

End Sub

Ошибка возникает в функции GetFolder. Я пометил оба vb.net и C #, поскольку документация находится на C #, и я перевел ее на vb.net.


После прочтения и публикации сообщения об этой же ошибке в ссылке , предоставленной IanBailey , я изменил:

var publicFolder = dropBoxStorage.GetFolder("/Public");

до

  var publicFolder = dropBoxStorage.GetRoot();

Файл успешно загружен.

РЕДАКТИРОВАТЬ: Однако я только что понял, что вы не можете обмениваться файлами в папке приложений (на что указывает GetRoot), поэтому проблема все еще возникает для меня.

РЕДАКТИРОВАТЬ 2: Я думаю, что проблема связана с разрешениями при создании приложения в Dropbox. Когда вы впервые создаете приложение, есть возможность предоставить доступ либо к папке «Приложения», либо ко всей папке пользователя. Я получил сообщение об ошибке, затем я создал новое приложение, которое запрашивало доступ ко всей папке пользователя, а затем получало доступ к общей папке.

1 Ответ

2 голосов
/ 26 марта 2012

Проблема связана с разрешениями при создании приложения в Dropbox. Когда вы впервые создаете приложение, есть возможность предоставить доступ либо к папке «Приложения», либо ко всей папке пользователя. Я получал сообщение об ошибке до тех пор, пока не создал новое приложение, которое запрашивало доступ ко всем раскрывающимся спискам пользователей, а затем получало доступ к общей папке.

...