Tag: 谷歌云的端点

不应命名Cloud Endpoint参数

我想从JS应用程序向我的Google App发送HashMap 。 我创建了一个HashMapContainer类,例如: Cloud Endpoints Collection Parameter 。 Endpoint方法定义如下: public Entity myMethod( @Named(‘param1’) String param1, @Nullable @Named(‘param2’) HashMapContainer param2) { //… } 当我运行API生成时,会发生以下错误: com.google.api.server.spi.config.validation.ApiConfigInvalidException: Resource type ‘class com.mason.server.entity.HashMapContainer’ in method ‘endpoint.myMethod’ should not be named. 因此,我删除@Named注释。 生成了API但很明显,我没有收到JS应用程序发送的参数。 我的JavaScript是这样的: function doTransaction() { var req = gapi.client.myApi.endpoint.myMethod({ ‘param1’: ‘FOO’, ‘param2’: { ‘value1′:’foofoo’, ‘value2′:’barbar’, ‘value3′:’foobar’ } }); […]

部署时,我的一个云端点方法出现500内部服务器错误

我的所有Cloud Endpoints方法都在本地工作,并且在部署应用程序时,所有方法都可以工作。 这是方法: @ApiMethod(name = “listUrl”, path =”article/urls”, httpMethod = HttpMethod.GET) public String[] listUrl() { List articles = getArticleList(); String[] urlArray = new String[articles.size()]; int i = 0; for (Article article : articles) urlArray[i++] = article.getUrl(); return urlArray; } 我知道三个接受的返回类型是“POJO,数组或集合”。 但我认为也许String[]导致错误,所以尝试返回String的集合。 @ApiMethod(name = “listUrl”, path =”article/urls”, httpMethod = HttpMethod.GET) public CollectionResponse/*String[]*/ listUrl() { List articles […]

如何在GAE端点中检索自定义用户对象?

我刚刚在谷歌应用引擎Java应用上创建了自己的自定义身份validation。 而且我正在尝试做的下一件事并不是那么麻烦。 身份validation工作正常,但现在我正在尝试向默认的User对象添加一些额外的字段,这样我就不必对服务器进行如此多的调用。 所以我到目前为止所创建的是一个实现Authenticator的自定义类。 根据用户是否经过身份validation,authenticate方法返回User对象或null。 然后,我的API端点可以访问用户对象。 为了扩展我的应用程序function,我尝试扩展默认的User对象,创建一些新字段,然后将其传递给端点。 但是,由于端点可访问的User对象与我扩展的用户对象不同,因此无法获取额外的字段。 MyAuthenticator.java import com.google.api.server.spi.auth.common.User; public class MyAuthenticator implements Authenticator { @Override public User authenticate(HttpServletRequest request) { // some code return new AuthUser(…) } AuthUser.java import com.google.api.server.spi.auth.common.User; public class AuthUser extends User { private String newToken; public AuthUser(String email) { super(email); } public AuthUser(String id, String email) { super(id, […]

云端点集合参数

我正在使用Google App Engine Cloud Endpoints,我正在尝试接收收集参数。 不确定我是否可以这样做。 我知道我可以退回一份清单或任何collections品。 这个: public List initializationSetup(Pair pPair){} 工作正常,但如果我尝试接收对的列表,则不会创建.api文件。 public List initializationSetup(List pPairs){ 谢谢

为Cloud Endpoints类生成API元数据失败

从几个月到现在,我正在谷歌appengine的Android应用程序的后端工作。 直到昨天,一切都很顺利。 我在最近2个月没有生成端点,但是当我昨天尝试这样做时,错误出现了。 这就是场景。 在Android IDE(Eclipse 4.2)中,我点击“生成云端点客户端库”。 我要等很多时间…… 出现错误(我将粘贴下面的堆栈跟踪)。 预期的输出 – >我的android项目中的所有ok和我的新端点库。 实际输出 – >(下面的堆栈跟踪)。 我正在使用Ubuntu 13.04 64bit的机器上工作。 我尝试了3种不同版本的appengine sdk(1.9.2,1.9.3,1.9.4) 报告的问题是这一个: > com.google.appengine.repackaged.com.google.api.client.http.HttpResponseException: 400 Bad Request {“error”: {“message”: “Bad Request”, “code”: 400, “errors”: [{“message”: “api exception”, “debug_info”: “Cannot decode JSON Schema for: {u’parameterName’: u’resource’}”}]}} *AppName*-AppEngine Unknown Google App Engine Cloud Endpoints Problem Marker 堆栈跟踪是这样的: > […]

appengine endpoint无法检索状态为500的API配置

我用epms 0.0.0.0在eclipse中运行appengine本地开发服务器 当我尝试访问任何方法时,我收到以下错误。 如果我尝试访问api explorer,我会得到同样的错误 http://localhost:8888/_ah/api/explorer 注意:我刚刚将我的应用引擎服务器更新为java 7。 有谁知道如何解决这个问题? java.io.IOException: Failed to retrieve API configs with status: 500 at com.google.api.server.spi.tools.devserver.ApiServlet.getApiConfigSources(ApiServlet.java:102) at com.google.api.server.spi.tools.devserver.ApiServlet.initConfigsIfNecessary(ApiServlet.java:67) at com.google.api.server.spi.tools.devserver.RestApiServlet.service(RestApiServlet.java:117) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:123) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at […]

使用Google Cloud Endpoints的“会话”

这个问题只是为了证实我对这个概念很清楚。 据我了解, Google Cloud Endpoints是Google实施的REST服务,因此无法将任何“会话”数据保留在内存中,因此: 用户必须随每个请求发送身份validation数据 。 我以后想要使用的所有数据都必须保持不变 ,即,对于我收到的每个API请求,我必须访问数据存储区,执行某些操作并再次存储数据。 它是否正确? 如果是这样,这在性能方面是否真的很好?

在Google Cloud Endpoints中获取原始HTTP数据(标题,Cookie等)

我想知道是否有可能在Cloud Endpoint中收集原始HTTP数据。 我似乎无法在Google的文档中找到任何内容,但App Engine的Twitter告诉我它是( https://twitter.com/app_engine/status/305747445017624576 )。 如果是这样,我可以请它的语法吗? 我知道GCE的API仍处于早期阶段,任何帮助都将不胜感激。