java - 使用 Dropbox API 共享文件夹时出现模式不匹配错误

标签 java android dropbox dropbox-api dropbox-sdk

我正在开发一个使用 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 'sharedFolderId' does not match pattern java.lang.IllegalArgumentException: String 'sharedFolderId' does not match pattern at com.dropbox.core.v2.sharing.AddFolderMemberArg.(AddFolderMemberArg.java:50) at com.dropbox.core.v2.sharing.AddFolderMemberArg.(AddFolderMemberArg.java:86) at 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) at android.os.AsyncTask$2.call(AsyncTask.java:295) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818)

谁能告诉我我在这里做错了什么?

最佳答案

错误消息表明您正在传递给 addFolderMembersharedFolderId 参数值似乎不是有效的共享文件夹 ID。

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

sfl.getCompleteValue().getSharedFolderId();

顺便说一句,当调用shareFolder时,不保证您立即获得完整的信息。您应该使用 ShareFolderLaunch.isComplete/ShareFolderLaunch.isAsyncJobId检查您返回的内容。 shareFolder documentation中有更多信息

关于java - 使用 Dropbox API 共享文件夹时出现模式不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46004262/

相关文章:

java - Android Studio 上使用 OpenCV 库的多个 dex 文件

android - Android 布局中扭曲的 ProgressBar 微调器

swift - 无法使用 SwiftyDropbox 调用 "upload"

javascript - 添加许多具有不同扩展选项的保管箱选择器不起作用

java - BigInteger 类型的方法 multiply(long) 不可见

java - 如何在 Spring Maven 中通过 Junit 测试获取 Spring 配置

ftp的android studio库导入失败

android - 动态添加新字符串到资源字符串数组

linux - 从服务器远程连接到 Dropbox 服务

java - 动态条件语句