我正在尝试使用Sharpbox API将文件上传到我的保管箱帐户。但是,当我尝试将文件上传到“公共”文件夹时,出现错误说明:“无法从服务器检索子元素”。
我已按照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#,因为文档在C#中,我已将其翻译为vb.net。
在阅读了关于link provided by IanBailey中的相同错误的帖子之后,我改变了:
var publicFolder = dropBoxStorage.GetFolder("/Public");
到
var publicFolder = dropBoxStorage.GetRoot();
然后文件成功上传。
编辑:但是,我刚刚意识到你无法在apps文件夹中共享文件(GetRoot指向),因此问题仍在我身上。
编辑2:我认为问题是由于在Dropbox上创建应用时的权限。首次创建应用程序时,可以选择授予对“Apps”文件夹或整个用户的保管箱的访问权限。我收到错误然后我创建了一个新的应用程序,请求访问整个用户的Dropbox然后能够到达公共文件夹。
答案 0 :(得分:2)
问题是由于在Dropbox上创建应用时的权限。首次创建应用程序时,可以选择授予对“Apps”文件夹或整个用户的保管箱的访问权限。我收到错误,直到我创建了一个新的应用程序,请求访问整个用户的保管箱,然后才能进入公共文件夹。