2012-03-26 16 views
5

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.

+1

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

+0

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. –

Odpowiedz

2

Problem wynika z uprawnień przy tworzeniu aplikacji w usłudze 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, dopóki nie utworzyłem nowej aplikacji, która zażądała dostępu do skrzynki wszystkich użytkowników, a następnie mogła uzyskać dostęp do folderu publicznego.

Powiązane problemy