Я пытаюсь использовать 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. Когда вы впервые создаете приложение, есть возможность предоставить доступ либо к папке «Приложения», либо ко всей папке пользователя. Я получил сообщение об ошибке, затем я создал новое приложение, которое запрашивало доступ ко всей папке пользователя, а затем получало доступ к общей папке.