2017-09-01 9 views
0

Dropbox Core SDK v3.0.3を使用するAndroidアプリで作業しています。 他のメンバーとフォルダを共有しようとしているうちに、私はいつもエラーが発生しています。コードは指定された名前で新しい共有フォルダを作成していますが、メンバーは追加していません。Dropbox APIを使用してフォルダを共有するときにパターンの不一致エラーが発生する

これは私のコードです:

List<AddMember> list = new ArrayList<AddMember>(); 
AddMember newMember = new AddMember(MemberSelector.email(clerkDbId), AccessLevel.EDITOR); 
list.add(newMember); 
ShareFolderLaunch sfl = dbxClient.sharing().shareFolder("/" + clerkName); 
dbxClient.sharing().addFolderMember(sfl.getCompleteValue().toString(), list); //I am getting error here. 

clerkName:共有フォルダ

clerkDbIdの名前:私は上記のフォルダ

を共有したいとのDropbox IDは私が試しました最初の行を次のように変更します。

まだ同じエラーが発生しています。これは私が取得していますエラーです:

文字列 'sharedFolderId' パターン java.lang.IllegalArgumentExceptionが一致していません:string 'をsharedFolderId' com.dropbox.core.v2.sharingでない マッチパターン を行います。 AddFolderMemberArg。(AddFolderMemberArg.java:50) com.dropbox.core.v2.sharing.AddFolderMemberArg。(AddFolderMemberArg.java:86) com.dropbox.core.v2.sharing.DbxUserSharingRequests.addFolderMember(DbxUserSharingRequests.java: 154) at com.dbapp.ashworth.adminapp.FilesActivity $ 3 $ 1.doInBackground(FilesActivity.java:126) at com.dbapp.ashworth.adminapp.FilesActivity $ 3 $ 1.doInBackground(FilesActivity.jav a:115) android.os.AsyncTask $ 2.call(AsyncTask.java:295) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker java.lang.Thread.runでjava.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:588) (Thread.java:818)で(ThreadPoolExecutor.java:1113)

缶誰も私はここで間違って何を教えてください?

答えて

1

addFolderMemberに渡すパラメータ値のsharedFolderIdが有効な共有フォルダIDではないことを示すエラーメッセージです。

SharedFolderMetadata(文字列として)全体を渡しています。あなただけではなく、このように共有フォルダのIDを取得する必要があります:ところで、

sfl.getCompleteValue().getSharedFolderId();

shareFolderを呼び出すとき、あなたはすぐに完了した情報を取得することを保証していません。返品内容を確認するにはShareFolderLaunch.isComplete/ShareFolderLaunch.isAsyncJobIdを使用する必要があります。 shareFolder documentation

+0

「共有フォルダ」招待状(Dropboxに追加)をプログラムで受け入れることは可能ですか? – Dreamist

+0

はい、['mountFolder'](https://dropbox.github.io/dropbox-sdk-java/api-docs/v3.0.x/com/dropbox/core/v2/sharing/DbxUserSharingRequests.html#)を使用してください。 mountFolder-java.lang.String-)を受信者のアカウントに追加します。 – Greg

+0

もう一度おねがいします。 'sharedFolderId'を取得するには? 'mountFolder'関数はフォルダをマウントするために' sharedFolderId'を必要とします。フォルダパスを知る必要はありますか? 'FolderMetadata.newBuilder(name、id)'の2つのパラメータは何ですか? – Dreamist

関連する問題