我正在嘗試使用Sharpbox API將文件上傳到我的保管箱帳戶。但是,當我嘗試將文件上載到「公用」文件夾時,出現錯誤消息:「無法從服務器檢索子元素」。使用Sharpbox API上傳到Dropbox
我遵循的the documentation pdf 10-11頁上的步驟,這裏是我目前使用的(作爲一個測試,我要上傳的文件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#都標記爲文檔,並且已將其轉換爲vb.net。
唸叨然後張貼有關在link provided by IanBailey同樣的錯誤後,我改變了:
var publicFolder = dropBoxStorage.GetFolder("/Public");
到
var publicFolder = dropBoxStorage.GetRoot();
的文件,然後上傳成功。
編輯:但是,我只是意識到,你不能共享文件內的應用程序文件夾(即GetRoot指向),所以因此問題仍然發生在我身上。
編輯2:我認爲問題是由於在Dropbox上創建應用程序時的權限。當您第一次創建應用時,可以選擇授予對「Apps」文件夾或整個用戶的Dropbox的訪問權限。我遇到了錯誤,然後我創建了一個新的應用程序,請求訪問整個用戶的Dropbox,然後能夠訪問公用文件夾。
我認爲這是Sharpbox的問題。這裏的人:http://sharpbox.codeplex.com/discussions/349810星期五有完全相同的問題(儘管在C#中)。 – ianbailey 2012-03-26 11:01:29
是的,這看起來像是同樣的錯誤,我也會爲該頁面添加書籤,並留意如果沒有在這裏找到解決方案。謝謝伊恩。 – 2012-03-26 11:06:59