我正在开发一款使用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<>();
我仍然得到同样的错误。这是我得到的错误:
String&#39; sharedFolderId&#39;与模式不匹配 java.lang.IllegalArgumentException:String&#39; sharedFolderId&#39;才不是 匹配模式 在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.java:115) 在android.os.AsyncTask $ 2.call(AsyncTask.java:295) 在java.util.concurrent.FutureTask.run(FutureTask.java:237) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:588) 在java.lang.Thread.run(Thread.java:818)
任何人都可以告诉我,我在这里做错了什么?
答案 0 :(得分:1)
错误消息表明您传递给addFolderMember
的null
参数值似乎不是有效的共享文件夹ID。
你传递了整个SharedFolderMetadata
(作为一个字符串)。您应该只需获取共享文件夹ID,如下所示:
sharedFolderId
顺便说一句,在致电shareFolder
时,您无法保证立即获得完整的信息。您应该使用ShareFolderLaunch.isComplete
/ ShareFolderLaunch.isAsyncJobId
来检查您的回复。 shareFolder documentation