2012-03-26 18 views
5

Sharpbox APIを使用して、ファイルを自分のDropboxアカウントにアップロードしようとしています。しかし、 "Public"フォルダにファイルをアップロードしようとすると、"サーバから子要素を取得できませんでした"というエラーメッセージが表示されますSharpbox APIを使用してDropboxにアップロード

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 

エラー:

私はここthe documentation pdfのページ10-11のステップに続き、しているが、私は現在、(テストとして、私はtoken.txtファイルをアップロードしようとしています)を使用していたコードですGetFolder関数で発生します。私はvb.netとC#の両方にタグをつけました。ドキュメンテーションはC#であり、私はvb.netに翻訳しました。


link provided by IanBaileyに同じエラーについて投稿後、約読んだ後、私は変更:

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

var publicFolder = dropBoxStorage.GetRoot(); 

ファイルにして正常にアップロード。

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

EDIT 2:問題は、Dropboxでアプリケーションを作成するときのアクセス許可に起因すると思います。最初にアプリを作成するときは、「Apps」フォルダまたはユーザー全体のDropboxのいずれかにアクセス権を与えるオプションがあります。私はエラーを受け取り、ユーザーのDropbox全体へのアクセスを要求し、パブリックフォルダにアクセスできる新しいアプリケーションを作成しました。

+1

シャープボックスの問題だと思います。ここのガイ:http://sharpbox.codeplex.com/discussions/349810(C#でも)金曜日にまったく同じ問題を抱えています。 – ianbailey

+0

ええ、それは同じエラーのように見えますが、私はそのページもブックマークして、そこに解決策が見つからなければそれに気をつけます。ありがとうございます。 –

答えて

2

問題は、Dropboxでアプリケーションを作成する際のアクセス許可が原因です。最初にアプリを作成するときは、「Apps」フォルダまたはユーザー全体のDropboxのいずれかにアクセス権を与えるオプションがあります。ユーザーのDropbox全体へのアクセスを要求し、その後パブリックフォルダにアクセスできる新しいアプリケーションを作成するまでは、エラーが発生していました。

関連する問題