5

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

GetFolder 関数でエラーが発生します。ドキュメンテーションが C# であるため、vb.net と C# の両方にタグを付け、それを vb.net に翻訳しました。


IanBailey が提供するリンクで同じエラーについて読んだ後、次のように変更しました。

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

  var publicFolder = dropBoxStorage.GetRoot();

その後、ファイルは正常にアップロードされました。

編集:ただし、( GetRoot が指す) apps フォルダー内でファイルを共有できないことに気付いたので、問題はまだ発生しています。

編集 2: 問題は、ドロップボックスでアプリを作成するときのアクセス許可によるものだと思います。アプリを初めて作成するとき、「アプリ」フォルダーまたはユーザーのドロップボックス全体へのアクセスを許可するオプションがあります。エラーが発生していたので、ユーザーのドロップボックス全体へのアクセスを要求する新しいアプリを作成し、パブリック フォルダーにアクセスできました。

4

1 に答える 1

2

この問題は、ドロップボックスでアプリを作成する際の権限が原因です。アプリを最初に作成するときに、「アプリ」フォルダーまたはユーザーのドロップボックス全体へのアクセスを許可するオプションがあります。ユーザーのドロップボックス全体へのアクセスを要求する新しいアプリを作成し、パブリックフォルダーにアクセスできるようになるまで、エラーが発生していました。

于 2012-03-26T15:14:30.540 に答える