Ich habe ein Java-Projekt auf GCE gehostet.Wie kann ich die Google Storage API verwenden, um die Dateien öffentlich zu teilen?
Ich google-api-services-storage
mit
einen Ordner auf G-Speicher erstellen und einige Dateien dort hochladen.
Wie kann ich die Google Storage API verwenden, um die Dateien öffentlich zu teilen?
Ich sehe die Java-Dokumentation dafür nicht.
hier mein Versuch ist:
Storage gsClient;
StorageFileId gcsFileId = fileIdCreator.createFromUri(gcsFileURI);
List<ObjectAccessControl> acl = new ArrayList<>();
//acl.add(new ObjectAccessControl().setRole(""));
//acl.add(Acl.of(Acl.User.ofAllUsers(), Acl.Role.READER));
acl.add(new ObjectAccessControl().setRole("READER").setProjectTeam(new ObjectAccessControl.ProjectTeam().setTeam("viewers")));
StorageObject object = new StorageObject().setName(gcsFileId.getObjectId()).setAcl(acl);
InputStreamContent mediaContent = new InputStreamContent("application/octet-stream", inputStream);
Storage.Objects.Insert insertRequest = gsClient.objects().insert(gcsFileId.getBucket(), object, mediaContent);
insertRequest.getMediaHttpUploader().setDirectUploadEnabled(true);
insertRequest.execute();
Ich sah dieses php documentation
und dieses json documantation
danke, und wie würde ich diese ACL auf Dateien setzen, die bereits in der Cloud sind? http://stackoverflow.com/questions/42749778/how-to-use-java-to-set-acl-to-all-files-under-google-storage-folder –