使用Sharpbox API上传到Dropbox

Leo*_*tch 5 c# vb.net dropbox dropbox-api

我正在尝试使用Sharpbox API将文件上传到我的保管箱帐户.但是,当我尝试将文件上传到"公共"文件夹时,出现错误,指出:"无法从服务器检索子元素".

我已按照文档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
Run Code Online (Sandbox Code Playgroud)

GetFolder函数发生错误.我已经标记了vb.net和C#,因为文档在C#中,我已将其翻译为vb.net.


在阅读了关于在IanBailey提供链接中发布相同错误之后,我改变了:

var publicFolder = dropBoxStorage.GetFolder("/Public");
Run Code Online (Sandbox Code Playgroud)

  var publicFolder = dropBoxStorage.GetRoot();
Run Code Online (Sandbox Code Playgroud)

然后该文件成功上传.

编辑:但是,我刚刚意识到你不能在apps文件夹中共享文件(GetRoot指向),因此问题仍在我身上.

编辑2:我认为问题是由于在Dropbox上创建应用程序时的权限.首次创建应用程序时,可以选择授予对"Apps"文件夹或整个用户的保管箱的访问权限.我收到错误然后我创建了一个新的应用程序,请求访问整个用户的保管箱,然后能够进入公共文件夹.

Leo*_*tch 2

该问题是由于在 Dropbox 上创建应用程序时的权限引起的。首次创建应用程序时,可以选择授予对“应用程序”文件夹或整个用户的保管箱的访问权限。我收到错误,直到我创建了一个新的应用程序,该应用程序请求访问整个用户的保管箱,然后才能访问公用文件夹。