我写了一个在Google App Engine上运行并使用BlobstoreService提供GCM文件的servlet。
使用ACL保护文件只能由属于Google Apps域的用户访问。
servlet就是这样做的:
blobstoreService.serve(blobstoreService.createGsBlobKey("/gs/"
+ "myBucket/"
+ "myFile"), response);
尝试执行此类代码时出现500错误。响应具有以下标题:
alternate-protocol:443:quic
content-length:323
content-type:text/html; charset=UTF-8
date:Fri, 08 Aug 2014 20:23:48 GMT
server:Google Frontend
status:500 Internal Server Error
version:HTTP/1.1
但是,如果我允许所有用户访问该文件:
gsutil acl ch -g AllUsers:R gs://myBucket/myFile
它运作正常。
有一种方法可以将某种凭证传递给BlobstoreService吗?或者使用BlobstoreService无法提供安全的GCS文件?