使用Sharpbox API上传文件到Dropbox

5
我试图使用Sharpbox API将文件上传到我的Dropbox账户。但是,当我尝试将文件上传到“Public”文件夹时,出现错误,提示:“无法从服务器检索子元素”
我已按照文档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。

在阅读了IanBailey提供的链接后,我更改了以下内容:

var publicFolder = dropBoxStorage.GetFolder("/Public");

  var publicFolder = dropBoxStorage.GetRoot();

文件已成功上传。

编辑:然而,我刚刚意识到您无法在应用程序文件夹(GetRoot指向的位置)内共享文件,因此对我来说问题仍然存在。

编辑2:我认为问题是由于在Dropbox上创建应用程序时的权限问题。当您第一次创建应用程序时,可以选择授予对“应用程序”文件夹或整个用户Dropbox的访问权限。我遇到错误时创建了一个新应用程序,请求访问整个用户的Dropbox,然后才能访问公共文件夹。


1
我认为这是Sharpbox的问题。这位先生在这里:http://sharpbox.codeplex.com/discussions/349810上周五遇到了完全相同的问题(尽管是在C#中)。 - ianbailey
是的,看起来就是同样的错误,我也会收藏那个页面,并在这里找不到解决方案时留意那里是否有解决方案。谢谢Ian。 - Leopold Stotch
1个回答

2
问题出在创建Dropbox应用时的权限设置上。当您第一次创建应用时,可以选择授予对“Apps”文件夹或整个用户Dropbox的访问权限。在我创建了一个请求对整个用户Dropbox进行访问的新应用程序后,就能够访问公共文件夹了。请注意保留HTML标签,这是格式要求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接