0

Dropbox Core SDK v3.0.3 を使用する Android アプリに取り組んでいます。フォルダを別のメンバーと共有しようとすると、常にエラーが発生します。コードは、指定された名前で新しい共有フォルダーを作成していますが、メンバーは追加していません。

これは私のコードです:

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

最初の行を次のように変更してみました。

ArrayList<AddMember> list = new ArrayList<>();

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

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

ここで何が間違っているのか教えてください。

4

1 に答える 1

1

エラー メッセージは、sharedFolderId渡したパラメーター値がaddFolderMember有効な共有フォルダー ID ではないようであることを示しています。

全体をSharedFolderMetadata(文字列として)渡しています。代わりに、次のように共有フォルダー ID を取得する必要があります。

sfl.getCompleteValue().getSharedFolderId();

ところで、 を呼び出すとshareFolder、完全な情報がすぐに得られるとは限りません。ShareFolderLaunch.isComplete/を使用ShareFolderLaunch.isAsyncJobIdして、返されたものを確認する必要があります。詳細については、shareFolder documentation

于 2017-09-01T16:40:41.653 に答える