Java 使用Dropbox API共享文件夹时获取模式不匹配错误

Java 使用Dropbox API共享文件夹时获取模式不匹配错误,java,android,dropbox,dropbox-api,dropbox-sdk,Java,Android,Dropbox,Dropbox Api,Dropbox Sdk,我正在开发一款Android应用程序,它使用Dropbox Core SDK v3.0.3。 在尝试与其他成员共享文件夹时,我经常会遇到错误。代码正在以指定的名称创建新的共享文件夹,但未添加任何成员 这是我的代码: List<AddMember> list = new ArrayList<AddMember>(); AddMember newMember = new AddMember(MemberSelector.email(clerkDbId), AccessLeve

我正在开发一款Android应用程序,它使用Dropbox Core SDK v3.0.3。 在尝试与其他成员共享文件夹时,我经常会遇到错误。代码正在以指定的名称创建新的共享文件夹,但未添加任何成员

这是我的代码:

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.
List List=new ArrayList();
AddMember newMember=newaddmember(MemberSelector.email(clerkDbId),AccessLevel.EDITOR);
列表。添加(新成员);
ShareFolderLaunch sfl=dbxClient.sharing().shareFolder(“/”+clerkName);
dbxClient.sharing().addFolderMember(sfl.getCompleteValue().toString(),list)//我这里有个错误。
clerkName:共享文件夹的名称

clerkDbId:我要将上述文件夹共享到的Dropbox id

我尝试将第一行更改为:

ArrayList<AddMember> list = new ArrayList<>();
ArrayList list=new ArrayList();
但我还是犯了同样的错误。这就是我得到的错误:

字符串“sharedFolderId”与模式不匹配 java.lang.IllegalArgumentException:字符串“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) 位于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.run(FutureTask.java:237) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 运行(Thread.java:818)


有人能告诉我这里做错了什么吗?

错误消息表明您要传递到的
sharedFolderId
参数值似乎不是有效的共享文件夹ID

您正在传递整个(作为字符串)。您应该只获取共享文件夹ID,如下所示:

sfl.getCompleteValue().getSharedFolderId()


顺便说一句,打电话时,你不能保证立即得到完整的信息。你应该用/来检查你得到了什么。

中有更多信息。是否可以通过编程方式接受“共享文件夹”邀请(添加到Dropbox)?是的,在收件人的帐户上使用。很抱歉再次询问。如何获取
共享文件夹ID
mountFolder
功能需要
sharedFolderId
来装载文件夹。有必要知道文件夹路径吗?您能告诉我FolderMetadata.newBuilder(名称,id)
的两个参数是什么吗?您可以从上面的
SharedFolderMetadata
获取
sharedFolderId
,或者,您可以使用/,列出所有可用的共享文件夹,以便装载到收件人的连接帐户中。您不需要知道原始文件夹路径。指定要在收件人帐户中装入共享文件夹的路径。您也不需要自己构建
FolderMetadata
,因为您可以从各种方法中检索它。