我试图从AppEngine上(JAVA)一批请求设置多个ACL。 我不知道该URL应该是什么发出请求。 该文件指出,“/批”。 是否有再例子可用? 据我所知,这是不可能从API浏览器来测试。
Answer 1:
使用谷歌的API的Java客户端库和存储JSON API,批量要求是这样的:
// Create the Storage service object
Storage storage = new Storage(httpTransport, jsonFactory, credential);
// Create a new batch request
BatchRequest batch = storage.batch();
// Add some requests to the batch request
storage.objectAccessControls().insert("bucket-name", "object-key1",
new ObjectAccessControl().setEntity("user-123423423").setRole("READER"))
.queue(batch, callback);
storage.objectAccessControls().insert("bucket-name", "object-key2",
new ObjectAccessControl().setEntity("user-guy@example.com").setRole("READER"))
.queue(batch, callback);
storage.objectAccessControls().insert("bucket-name", "object-key3",
new ObjectAccessControl().setEntity("group-foo@googlegroups.com").setRole("OWNER"))
.queue(batch, callback);
// Execute the batch request. The individual callbacks will be called when requests finish.
batch.execute();
请注意,您目前所面对的请求访问存储JSON API,因为它是在有限的测试。
相关API文档是在这里: https://developers.google.com/storage/docs/json_api/v1/objectAccessControls
关于Java客户端库批量请求文件: https://code.google.com/p/google-api-java-client/wiki/Batch
Java文档存储Java客户端库: https://google-api-client-libraries.appspot.com/documentation/storage/v1beta1/java/latest/index.html
文章来源: Batch request with Google Storage Json Api (JAVA)