我有一个App Engine Connected Android Project . 目前我正在使用Blobstore来存储blob . 这是它的工作原理
-
Android调用我的App Engine服务器来请求serveUrl
-
App Engine使用服务URL响应android客户端
-
Android使用上述服务URL将图像(multipart)加载到Blobstore
-
Blobstore使用BlobKey和Android发送到Blobstore的任何元/额外数据(即多部分)对App Engine(servlet)进行回调
-
App引擎将BlobKey存储在数据存储区中 . 或者从Blobkey中提取blob的url并以这种方式提供blob .
_999_遗憾的是,您需要一个合适的servlet来处理来自Blobstore的回调,而不是所有的Cloud Endpoint
因此,在五个步骤和一个注释中,我告诉全世界如何将App-Engine与Android的Blobstore一起使用 .
有人请提供类似的步骤一起使用:App-Engine(数据存储),Google Cloud 端存储和Android?谢谢 . 优选地,不需要“适当的”servlet的解决方案 .
请区分我是否应该使用 Google API Client Library
或 Google Cloud Client Library
.
我正在使用Android Studio进行开发 .
1 回答
首先,你必须考虑谁授权上传文件:用户,或你的应用程序,或你的Android应用程序 .
如果您授权用户,您有多个选项(授权某个谷歌应用程序域或某些用户或使用签名的URL将文件上传到存储桶)
如果您授权应用程序(您的应用引擎应用程序执行上传blob的授权),您可以直接上传到 Cloud 存储,但方式相同 .
如果您授权您的Android应用程序,您可以摆脱应用程序引擎上传您文件的部分,并在您的Android应用程序中编写代码 . 为此,您需要使用对 Cloud 存储中的某个存储桶具有权限的服务帐户 .
看看1,2,3
这是一个使用pub / sub将消息推送到浏览器的sample