Próbuję użyć pliku Sharpbox API, aby przesłać plik na moje konto Dropbox. Jednak podczas próby przesłania pliku do folderu "Publiczny" pojawia się komunikat o błędzie: "Nie można pobrać elementów potomnych z serwera".Przesyłanie do Dropbox za pomocą Sharpbox API
śledzę kroki opisane na stronie 10-11 z the documentation pdf i oto kod Obecnie używam (jako test Próbuję przesłać plik 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
Błąd występuje w funkcji GetFolder. Otagowałem zarówno vb.net, jak i C#, ponieważ dokumentacja jest w języku C# i przetłumaczyłem ją na vb.net.
Po przeczytaniu o czym wypowiedź na temat tego samego błędu w link provided by IanBailey, zmieniłem:
var publicFolder = dropBoxStorage.GetFolder("/Public");
do
var publicFolder = dropBoxStorage.GetRoot();
Plik następnie pomyślnie przesłany.
EDYCJA: Właśnie zdałem sobie sprawę, że nie można udostępniać plików w folderze aplikacji (do których przypisuje się punkty GetRoot), dlatego problem nadal występuje.
EDYCJA 2: Myślę, że problem wynika z uprawnień przy tworzeniu aplikacji w Dropbox. Gdy tworzysz aplikację po raz pierwszy, istnieje możliwość przyznania dostępu do folderu "Aplikacje" lub do skrzynki wszystkich użytkowników. Wystąpił błąd, a następnie utworzyłem nową aplikację, która zażądała dostępu do skrzynki wszystkich użytkowników, a następnie mogła uzyskać dostęp do folderu publicznego.
Myślę, że to problem z Sharpbox. Facet tutaj: http://sharpbox.codeplex.com/discussions/349810 mając dokładnie te same problemy w piątek (choć w C#). – ianbailey
Tak, to wygląda podobnie do tego samego błędu, również zaznaczę tę stronę i będę mieć oko na rozwiązanie tam, gdzie nie znajdzie się tutaj. Dzięki Ian. –