Articles of 谷歌应用程序引擎

如何将Google App Engine用作Android应用程序的后端数据库

我其实是一个在Android的初学者,需要很多的帮助。 我已经做了一个embedded式数据库的应用程序,现在想把它放到一个dynamic的位置。 有简单的数据forms(一些地址和分支信息等)。 我实际上不知道如何使用放置在dynamic位置上的dynamic服务器。 我怎样才能做到这一点? 请逐步引导我 我浏览并发现了一些术语,如“ 写服务 ”,“ closures/打开后端 ”等,请引导我。 另一个问题是,我需要某种注册,API密钥或其他任何东西。 我只是添加了Eclipse的“谷歌插件”,我可以创build与Android应用程序连接的应用程序引擎

如何validationApp Engine后台的Android ID令牌

我的目标是build立简单的应用程序引擎后端为我的android应用程序。 这个后端的目的只是validationandroid客户端的调用,并提供密码,将用于进一步与我的服务器的https通信。 所以我开始根据这个http://android-developers.blogspot.in/2013/01/verifying-back-end-calls-from-android.html文章。 客户端看起来像: GoogleAuthUtil.getToken(MainActivityy.this, "my.email@gmail.com", "audience:server:client_id:my_Client_ID_for_web_applications.apps.googleusercontent.com"); 此方法返回令牌,如下所示: eyJhbGciOiJSUzI1NiIsImtpZCI6ImFiMWIyZTllNGU2NGE0MmIzM2U3YjMxMDQwNzUyMzIxYmVlMmJkYmEifQ.eyJpc.oN5ncz6MEAZBW8NXDhc4O-Y82C2mma675lbw9ZZA-1bs8zM9FKQG1K97PfNfxJFImiPMY8UYIjhqDIkHpErjaV0KDJpLv8NkmsdADOFjt5eQkFGWf92fufL7QEIkWqLL1fKxG7f8-OR59O5AOAVchdgtqDt4DhEH7oHfAZqf3wU 现在我想在后端validation这个令牌。 所以我创build了新的Web应用程序项目使用谷歌插件eclpise。 它生成一些示例项目。 对于这个项目,我从上面提到的文章中添加Checker类。 看起来像这样: import java.io.IOException; import java.security.GeneralSecurityException; import java.util.Arrays; import java.util.List; import java.util.logging.Logger; import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken; import com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.JsonFactory; import com.google.api.client.json.gson.GsonFactory; public class Checker { private final List mClientIDs; private final String mAudience; private final GoogleIdTokenVerifier mVerifier; private final JsonFactory mJFactory; private […]

无法在Google App Engine上部署Android App Engine项目

我在eclipse中的Android + Google App Engine中创build了一个微笑应用程序。 我正在尝试在Google应用引擎上部署该应用,但会显示错误消息 login猫: 无法更新:com.google.appengine.tools.admin.HttpIoException:发布到url时出错: https ://appengine.google.com/api/appversion/getresourcelimits?app_id=AppEngineTest2&version =1& 400错误的请求 客户端错误(400)该请求对于未指定的原因无效。 at com.google.appengine.tools.admin.AbstractServerConnection.send1(AbstractServerConnection.java:282) at com.google.appengine.tools.admin.AbstractServerConnection.send(AbstractServerConnection.java:235) at com.google.appengine.tools.admin.AbstractServerConnection.post(AbstractServerConnection.java:214) at com.google.appengine.tools.admin.ResourceLimits.remoteRequest(ResourceLimits.java:160) at com.google.appengine.tools.admin.ResourceLimits.request(ResourceLimits.java:127) at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:323) at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:52) at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:400) at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:148) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 任何一个有简单的例子(与源代码)的Android +谷歌应用程序引擎(c2dm)请分享它..

validation我的“应用程序”Google云端点不是“用户”

我正在尝试的是将我的Android应用程序authentication到Google Cloud Endpoint。 基本上,端点应该只允许我的Android应用程序访问的方法,没有别的。 我做了这些事情 – 在Google云端控制台的Eclipse中使用我的SHA1值创build客户端ID。 在Google云端控制台中为我的端点项目创build一个Web客户端ID。 将这两个客户端ID添加到每个端点上提到的“@Api”中。 在端点方法中添加一个额外的“用户”参数。 重新生成并将后端部署到云。 但是,当我运行这个“用户”总是作为“空”来。 我正在努力寻找一个适当的工作方法来完成这一切。 我search了很多论坛,但没有任何适当的答案。 这里是另一个类似的post限制访问谷歌云terminal到Android应用程序 这是我使用的参考 – https://developers.google.com/appengine/docs/java/endpoints/auth 有没有人在这里做过? 我的主要目标是不允许未经身份validation的应用程序和外部世界访问端点,出于明显的安全原因。 我不想使用基于最终用户的身份validation,因为我想保持我的应用程序非常简单。

“App Engine Connected Android Project”不可用

根据Google的这个指南,在安装/configurationEclipse的Eclipse插件,Android SDK和Google Plugin for Eclipse之后,“App Engine Connected Android Project”应该可用。 我在Eclipse 3.7.2(Indigo)和Eclipse 4.2(Juno)中安装了最新版本的所有内容。 但是,我无法在两个Eclipse版本中创build这样的项目。 以下是Juno中的安装细节: 这里是我的Android SDK细节的一部分: 我的操作系统是Mac OS X 10.7.4 我知道在我将SDK工具更新到最新版本之前,我可以在23/6/2012看到菜单点。 有没有人遇到类似的问题,或者有人知道我错误的方式configuration? 谢谢!

Android手机后端启动失败,404未find…有些时候

昨天下午,我创build了一个项目,并开始部署移动后端。 我编辑了客户端代码,并成功地做了一些数据插入。 一段时间后,我再次改变了密码,插入失败,出现错误: com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 Not Found 由于我没有做任何实质性的代码改变,我得出结论,错误是在应用程序引擎端,所以我重新部署了这个项目,解决了这个问题。 插入再次通过。 今天早上我回来了404错误。 这次重新部署不起作用。 我在应用程序引擎中获取的错误日志是: Uncaught exception from servlet javax.servlet.UnavailableException: com.google.api.server.spi.config.ApiConfigException: <Entity [GoogleCloudEndpointConfiguration("EndpointV1")]: clientIds = null audiences = null > .audiences was not of type String or List<String>. at org.mortbay.jetty.servlet.ServletHolder.makeUnavailable(ServletHolder.java:415) at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:451) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:57) […]

是否可以将Google App Engine用作Android应用程序的后端数据库?

我想写一个Android的客户端应用程序,它使用Google App Engine作为数据库后端。 我的Android客户端将连接到App Engine以保存信息,然后稍后连接到报告。 是否有可能使用App Engine作为这样的后端?

简而言之,与使用OAuth2请求getAuthToken和getToken有什么不同

在使用访问令牌时使用OAuth 2.0简而言之,与使用OAuth 2.0有什么区别: AccountManager.getAuthToken ("oauth2:https…userinfo.profile") , 和使用Google Play: GoogleAuthUtil.getToken(mActivity, mEmail, mScope) 据我了解 ,他们都为用户产生一个挑战屏幕,谷歌播放屏幕是用户友好的。 访问令牌可以有相同的权利? 这两个调用必须是asynchronous的。 InvalidateToken看起来像必须在两个调用中检查,更多?

Android + App引擎:user.getUserID()在端点中为null

我有一个与GAE服务器的Android应用程序。 我试图按照developers.google.com上描述的方式对用户进行身份validation,我将用户参数添加到端点方法等。我得到一个不为null的用户,但是此方法getUserId()返回null。 它类似于这个,而不是老问题: 函数User.getUserId()在云端点api中返回null为非空的用户对象但我仍然不知道如何解决它。 你如何处理这个错误? 你有没有遇到过? 在Android客户端这里是我做了什么(简化): credentials = GoogleAccountCredential.usingAudience(getApplicationContext(), "server:client_id:" + WEB_CLIENT_ID); credentials.setSelectedAccountName(accountName); WarriorEntityEndpoint.Builder endpointBuilder = new WarriorEntityEndpoint.Builder(AndroidHttp.newCompatibleTransport(), new GsonFactory(), credentials); warriorEntityEndpoint = endpointBuilder.build(); new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void… params) { // TODO Auto-generated method stub try { warriorEntityEndpoint.getWarrior().execute(); } catch (Exception e) { } return null; } }.execute(); 在GAE上: […]

如何在POST请求中提交一个文本字段,将blob上传到Blobstore,并在blob的上传处理程序中检索它?

我已经阅读了StackOverflow的几个类似的问题,但还没有find解决这个问题呢。 我通过HTTPPost将Blob从Android上传到App Engine的Blobstore,然后上传到由Blobstore服务生成的上传URL。 我希望能够发送一些文本元数据与这个请求,标识这个blob。 我想要检索这个信息以及上传处理程序servlet中的blob关键字,这个关键字在blob被上传后被调用。 问题在于blob使用多部分编码上传,App Engine不支持Servlet v3.0标准,所以我不能使用req.getPart()来获取文本部分。 (blob本身由Blobstore服务返回,所以部分请求已经为我们parsing了。) 如何通过只传递一个文本参数以及上传到Blobstore的文件来解决此问题,并在上​​传blob后调用的servlet中检索它? 非常感谢你的帮助! 相当卡住在这一个! 以下是我在Android上用于HttpPost的代码: File file = new File(filePath); MultipartEntityBuilder entityBuilder = MultipartEntityBuilder .create(); entityBuilder.addBinaryBody("file", file); DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(blobUploadURL); httpPost.setEntity(entityBuilder.build()); try { HttpResponse response = httpClient.execute(httpPost); statusCode = response.getStatusLine().getStatusCode(); } 更新(2014年12月8日): 在构buildHttpPost请求的multipart-entity之前,我在实体构build器中添加了一个文本主体,如下所示: String param="value"; entityBuilder.addTextBody("param", param); 对于Blob上传后处理Blobstorecallback的servlet,我使用了Google所描述的方法来分析本教程中App Engine上的HttpPost请求,如下所示: @Override […]