Articles of google app engine

无法在Eclipse中创建“App Engine Connected Android Project”:“元素创建失败”

我无法再通过Eclipse中的向导创建“App Engine Connected Android Project”。 单击“完成”按钮时,将显示以下错误消息: 元素的创建失败。 com.android.ide.eclipse.adt.internal.project.AndroidNature.setupProjectNatures(Lorg /蚀/核心/资源/的IProject; Lorg /蚀/核心/运行/ IProgressMonitor的;)V 我用: Windows 7(x64) Eclipse Juno 4.2 jre7 Google App Engine SDK 1.8.0。 Android SDK API 8和17 这是一个全新的装置。 在新安装Eclipse之前,它工作正常。 我还为“项目编号”和“API密钥”插入了正确的值。 该向导仅创建一个名为“.project”的文件,其中包含以下内容: Test exception堆栈跟踪: java.lang.reflect.InvocationTargetException at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421) at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1028) at org.eclipse.jdt.internal.ui.wizards.NewElementWizard.performFinish(NewElementWizard.java:134) at com.google.gdt.eclipse.mobile.android.wizards.NewAndroidCloudProjectWizard.performFinish(NewAndroidCloudProjectWizard.java:111) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) […]

HTTPPost multipart(上传文件)从Java到Python webapp2

我正在尝试将文件上传到GAE – 服务器端代码: class UploadHandler(blobstore_handlers.BlobstoreUploadHandler): def post(self): upload_files = self.get_uploads(‘file’) blob_info = upload_files[0] # When using flask, request.files[0] gives correct output. self.response.out.write(‘/serve/%s’ % blob_info.key()) 使用HTML,我可以让它工作: upload_url = blobstore.create_upload_url(‘/upload’) self.response.out.write(”) self.response.out.write(” % upload_url) self.response.out.write(“””Upload File: “””) 但我必须能够从Java执行多部分发布请求。 我有一个在openshift (flask, request.files[0] )托管的烧瓶项目,其中Java代码似乎工作: HttpParams params = new BasicHttpParams(); params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1); DefaultHttpClient mHttpClient = new DefaultHttpClient(params); HttpPost httppost = […]

通过app-engine端点api提供blobstore映像

我正在构建一个app-engine端点api,它从用户(Android应用程序)获取图片并以编程方式将其保存到blobstore。 然后我将blob_key保存在我的数据存储区中。 代码如下: 首先,我通过@endpoint.method作为messages.BytesField接收了图像: image_data = messages.BytesField(1,required = True) 然后我像这样保存到blobstore: from google.appengine.api import files def save_image(data): # Create the file file_name = files.blobstore.create(mime_type=’image/png’) # Open the file and write to it with files.open(file_name, ‘a’) as f: f.write(‘data’) # Finalize the file. Do this before attempting to read it. files.finalize(file_name) # Get the file’s blob key […]

什么Java REST框架与App Engine和Android一起用于学生?

我正在教授关于移动应用程序开发的大学课程,并希望向我的学生介绍用于App Engine的REST框架,以帮助他们为他们正在构建的Android应用程序进行数据存储。 任何人都可以推荐符合以下条件的App Engine Java REST框架: 一定有: 轻松学习曲线 有详细记录,有清晰的教程和示例程序 干净的抽象 像啤酒一样免费 适用于Eclipse 很高兴有: Android客户端 言论自由 不重要: 能够支持大量查询量 高度可定制 从我的网络搜索, Restlet看起来最好。 我还应该考虑其他任何框架吗?

在Google App Engine上,我可以使用Android的AccountManager关联Google OAuth 2令牌和SACSID令牌吗?

我正在编写一个Google App Engine应用程序以及一个CLI客户端,一个Android客户端和一个Javascript客户端。 此应用程序的目的是允许用户通过CLI或Javascript客户端控制安装了Android客户端的Android手机。 身份validation起着至关重要的作用,因为错误可能允许恶意用户控制其他人的手机。 Android客户端是编写和工作的。 它使用此方法对用户进行身份validation。 基本上,这给了我一个所谓的SACSID令牌,我可以存储在cookie中。 设置此cookie后,App Engine会识别我的用户。 然后,服务器应用程序可以调用UserService以获取要调用getUserId()的用户。 getUserId()返回一个标识我的用户的不透明字符串。 到现在为止还挺好。 现在我正在编写JS和CLI客户端。 由于CLI客户端没有显示CAPTCHA或打开浏览器的可靠方法,我认为它需要使用Device API (“客户端登录”不是一个选项)。 此API需要使用OAuth 2进行身份validation。 此外,我希望JS客户端访问用户的联系人,这似乎也表明OAuth 2适合。 如果我的用户使用OAuth 2进行身份validation,我是否会以某种方式将此Google OAuth 2令牌转换为Android客户端连接时获得的相同opaque字符串? 如果没有,我可以修改我的Android应用程序,以便它使用OAuth而不是Sacsid令牌吗? 更具体地说,我看到三件事可以解决我的问题: 从帐户管理器获取OAuth 2令牌的方法 一种为SACSID令牌交换OAuth 2令牌的方法 使用SACSID令牌和OAuth2获取相同的不透明UserID的方法,但前提是我可以在同一个应用程序上同时拥有两个身份validation系统。 与第三种可能解决方案类似的东西是从OAuth和SACSID令牌中获取用户的电子邮件地址,并将其用作用户ID。 然而,这对我来说看起来有点笨拙: 每当我收到OAuth 2请求时,我都需要调用Google API来检索用户的电子邮件地址(或构建我自己的令牌系统,这似乎是不安全的,并引入了许多其他困难)。 给定用户的电子邮件地址可能会发生变化,使我失去用户与其先前数据之间的关联。

在Android Studio中生成Google App Engine后端的问题

我无法在Android Studio中使用后端生成function。 我按照这篇博文试图为我的应用程序设置后端,但是我收到以下IDE错误: 插件Maven集成中的exception Argument 0 for @NotNull parameter of com/intellij/util/containers/ContainerUtil.map must not be null: Argument 0 for @NotNull parameter of com/intellij/util/containers/ContainerUtil.map must not be null java.lang.IllegalArgumentException: Argument 0 for @NotNull parameter of com/intellij/util/containers/ContainerUtil.map must not be null at com.intellij.util.containers.ContainerUtil.map(ContainerUtil.java) at org.jetbrains.idea.maven.utils.MavenUtil.collectFiles(MavenUtil.java:247) at org.jetbrains.idea.maven.wizards.MavenProjectBuilder.commit(MavenProjectBuilder.java:129) at com.intellij.projectImport.ProjectImportBuilder.commit(ProjectImportBuilder.java:59) at com.google.gct.intellij.endpoints.externalbuilder.MavenBackendGeneratorHelper.addMavenFunctionality(MavenBackendGeneratorHelper.java:216) at com.google.gct.intellij.endpoints.externalbuilder.ui.GenerateMavenBackend.actionPerformed(GenerateMavenBackend.java:115) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:162) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:260) at […]

带有appengine Google用户帐户的Android同步适配器

我正在为我的应用实现同步适配器以与appengine后端同步。 在appengine上我使用内置的User api进行身份validation。 这里有一个post告诉如何操作,但应用程序列在gmail帐户下。 理想情况下,我的应用程序将列在帐户中。 我不想要求用户输入用户名和密码,只需使用现有的Google帐户进行身份validation即可。 有没有人这样做过? 更新:我一直在努力,看起来我可以实现AuthenticationService并存储用户帐户名并将密码保留为空字符串。 在getAuthToken()方法中,我应该能够简单地返回google身份validation令牌。 一旦我走得更远就会发布…

为什么blobstore上传代码有重定向url

我想使用blobstore存储图像的过程以保存数据存储区中的blob键结束。 所以在下面的代码中,应该在我的后端,为什么我需要一个重定向URL,因为我已经有了blob密钥? 为什么我不只是将blob密钥保存在我的数据存储区中然后返回它? public class Upload extends HttpServlet { private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { Map blobs = blobstoreService.getUploadedBlobs(req); BlobKey blobKey = blobs.get(“myFile”); if (blobKey == null) { res.sendRedirect(“/”); } else { res.sendRedirect(“/serve?blob-key=” + blobKey.getKeyString()); } } } 此代码来自教程: https : //developers.google.com/appengine/docs/java/blobstore/overview#Complete_Sample_App

使用Google App Engine在Android中推送通知

我目前正在开发一个应用程序,用户可以创建存储在服务器上的post。 当另一个用户通过单击按钮显示对post的兴趣时,我想使用推送通知通知post的作者。 我已经使用Google App Engine使用云端点设置了数据存储。 无论如何我可以使用这些端点来实现推送通知吗? 如果没有,是否有另一种简单的方法来实现推送通知给出我当前的设置? 我已经在开发者页面上阅读了有关Google Cloud Messaging的内容,但有些困惑。 我已经跟踪了注册ID,但我真的不知道从那里去哪里。 提前致谢。

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

我实际上是android的初学者,需要很多帮助。 我用嵌入式数据库创建了一个应用程序,现在想把它放到一个动态的位置。 有简单的数据forms(一些地址和分支信息等)。 我实际上不知道如何使用放置在动态位置的动态服务器。 我怎样才能做到这一点? 请逐步指导我 我浏览并find了一些术语,如“ 写服务 ”,“ 关闭/打开后端 ”等。请指导我。 我的另一个问题是:我需要某种注册,api-key或任何其他东西。 我刚刚为eclipse添加了“google plugins”,我可以创建与Android App连接的App引擎