Я пытаюсь создать папку и поделиться ею с конкретным пользователем, используя SBT в автономном консольном приложении Java (JDK 7).
Я начал с образца FileServiceApp в sbt/samples и изменил его с помощью следующего кода:
...
fsa = new FileServiceApp(url, user, password);
FileService fileService = fsa.getFileService();
File newFolder = fileService.createFolder(newFolderName, "description", shareWith);
shareWith — это строка, которая должна содержать 3 значения, разделенных запятыми: id, (человек/сообщество/группа), (читатель/участник/владелец), как описано в:
обновление: я только что загрузил SBT 1.1.0, и createFolder больше не принимает параметр shareWith.
Но я продолжаю получать ошибку «Не найдено» (если shareWith не содержит этих 3 элементов, ошибка превращается в «Неверный запрос»).
отредактировано: вызов createFolder без третьего параметра просто работает, но папка, конечно, не является общей.
Я получаю такое же поведение, если попробую следующее (также и с sbt 1.1.0):
File newFolder = fileService.createFolder(newFolderName, "description");
Map<String, String> folderParameters = new HashMap<String, String>();
folderParameters.put("shareWith", userID);
folderParameters.put("sharePermission", "View");
fileService.updateFileMetadata(newFolder, folderParameters);
Идентификатор пользователя должен быть правильным как минимум для Smartcloud (формат: 1f......-b...-4...-b...-f............2 для теплицы, 2......1 для Smartcloud). Я проверил это с помощью ProfileService.getProfile(id) для Smartcloud.
Код был выполнен для учетной записи оранжереи и учетной записи Collabserv с использованием BasicEndpoint в обоих случаях (SmartCloudEndpoint для Smartcloud).
Мои вопросы:
- недоступна ли «общая папка» в SmartCloud / Greenhouse, и в этом случае доступна ли она для автономного экземпляра Connections?
- я что-то пропустил? (Я помещаю банки только в lib/ext)