我是非常新的谷歌应用程序引擎(GAE)和Glassware开发(谷歌眼镜)。
我在Netbeans和Apache tomcat上配置了Netbeans项目,我也成功地运行了该项目,但前面遇到了麻烦。
我的要求是,我不想使用谷歌应用引擎来开发我自己的Glassware,因为我想使用很少的第三方API。此外,应用程序引擎不支持javax.imageio和BufferedImage app。
我有以下几个问题
app-engine进行镜像快速启动-java/Glassware开发?message The API package 'urlfetch' or call 'Fetch()' was not found.
description The server encountered an internal error that prevented it from fulfilling this request.
com.google.apphosting.api.ApiProxy$CallNotFoundException: The API package 'urlfetch' or call 'Fetch()' was not found.
com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:100)
com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:38)
com.google.api.client.extensions.appengine.http.UrlFetchRequest.execute(UrlFetchRequest.java:75)
com.google.api.client.http.HttpRequest.execute(HttpRequest.java:980)
com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:299)
com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.execute(GoogleAuthorizationCodeTokenRequest.java:175)
com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.execute(GoogleAuthorizationCodeTokenRequest.java:78)
com.google.glassware.AuthServlet.doGet(AuthServlet.java:56)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)发布于 2013-05-30 17:15:38
将快速启动项目从App移到另一个J2EE容器是非常直接的,但它确实需要一些代码更改:
UrlFetchTransport的实例替换为类似于NetHttpTransport的替代方法。这将影响AuthUtil.java和MirrorClient.javaListableAppEngineCredentialStore.java替换为CredentialStore的新实现,该实现适用于您喜欢的任何持久性层(Hibernate、SQLite等)。您还需要对依赖关系管理和构建脚本进行一些更改,但这在很大程度上取决于您计划如何运行它。
发布于 2013-05-30 11:57:52
这是不需要使用应用程序为您的玻璃器皿。唯一的要求是使用HTTPS将订阅回复发送给您,因此您需要确保您的服务器配置正确以处理此问题。
urlfetch包是特定于appengine的。您应该确保从您的项目和引用它的任何代码中删除appengine库,以便使用标准java.net库。由于这是身份验证的一部分,您可能需要使用替代的OAuth2方法,例如Google+登录。
https://stackoverflow.com/questions/16834249
复制相似问题