Google app engine 为Java客户端生成Google云端点

Google app engine 为Java客户端生成Google云端点,google-app-engine,google-cloud-endpoints,java-client,Google App Engine,Google Cloud Endpoints,Java Client,没有多少关于从Java客户端使用Google云端点的文章。有迹象表明,它可以在各种文档中完成,但很少有关于它的文字。我已经能够让它工作了,但还有一些问题 第一个问题:有关于如何从Java客户端使用Google云端点的文档或示例吗 我正在使用GPE生成一个端点客户端库。输出是用一堆东西创建端点libs目录。文档中说,“生成的特定于服务的库可以在zip文件的顶级目录中找到:google-api-services-mayapp-v1-rev20140417180959-1.16.0-rc.jar”。在

没有多少关于从Java客户端使用Google云端点的文章。有迹象表明,它可以在各种文档中完成,但很少有关于它的文字。我已经能够让它工作了,但还有一些问题

第一个问题:有关于如何从Java客户端使用Google云端点的文档或示例吗

我正在使用GPE生成一个端点客户端库。输出是用一堆东西创建端点libs目录。文档中说,“生成的特定于服务的库可以在zip文件的顶级目录中找到:google-api-services-mayapp-v1-rev20140417180959-1.16.0-rc.jar”。在我的GPE版本(3.5.1)中,没有创建这样的JAR文件

这个tic-tac-toe示例的视频(转到23分钟标记)显示了一些源文件正在从endpoint libs目录复制到Android客户端应用程序中

第二个问题:关于创建上述JAR文件的文档是否错误?是否有关于生成的源文件以及如何使用它们的文档?也许有一些关于构建Android应用程序的文档,但我不知道Android。不管怎样,我筛选了一些Android客户端代码

视频接着显示了用于引用端点的“服务”对象。我已经对代码进行了调整,使之能够与Java客户机一起工作

MyApp.Builder builder = new MyApp.Builder( new NetHttpTransport(), new GsonFactory(), null );
service = builder.build();
Method1 method1 = service.getEndpointMethod1();
method1.execute();
Android示例使用AndroidHttp.newCompatibleTransport()创建一个HttpTransport作为MyApp.Builder()的第一个参数

第三个问题:我用于创建HttpTransport的方法是否适合Java客户机

第四个问题:Android客户端文档中有多少适用于Java客户端端点的使用——因为它们都是Java客户端?什么不适用?

(操作:请参阅下面的“没有Maven”,因为您说您没有使用Maven)

和Maven My Cloud Endpoints项目pom.xml包括插件配置:

<plugin>
  <groupId>com.google.appengine</groupId>
  <artifactId>appengine-maven-plugin</artifactId>
  <version>${appengine.version}</version>
  <configuration>
    <enableJarClasses>false</enableJarClasses>
    <version>${app.version}</version>
  </configuration>
  <executions>
    <execution>
      <goals>
        <!-- Generates the discovery document and client library
             during the compile phase. -->
        <goal>endpoints_get_discovery_doc</goal>
        <goal>endpoints_get_client_lib</goal>
      </goals>
    </execution>
  </executions>
</plugin>
我猜这是一个参数列表,它正在传递给
endpoints.sh
,尽管我还并没有检查

结果 生成的.jar文件如下所示,其中包含从发现文档生成的顶级客户端MyApiName类、一些支持类和模型类:

META-INF/MANIFEST.MF
META-INF/maven/com.example/myApiName/pom.properties
META-INF/maven/com.example/myApiName/pom.xml
com/example/myApiName/MyApi$AddBatch.class
com/example/myApiName/MyApi$Builder.class
com/example/myApiName/MyApi.class
com/example/myApiName/MyApiRequest.class
com/example/myApiName/MyApiRequestInitializer.class
com/example/myApiName/MyApiScopes.class
com/example/myApiName/model/Thing.class
com/example/myApiName/model/OtherThing.class

是否可以尝试使用上描述的方法之一生成客户端库?您应该能够获取jar文件。否则,GPE似乎会生成源.java文件。我认为您只需要编译它们或将这些src文件直接复制到Java客户机项目中。它创建了myapp-v1-java.zip,其中包含与GPE生成的文件和结构相同的文件和结构,但我没有看到任何包含端点的JAR。因为我没有使用Maven,所以我没有尝试任何这些选项。
META-INF/MANIFEST.MF
META-INF/maven/com.example/myApiName/pom.properties
META-INF/maven/com.example/myApiName/pom.xml
com/example/myApiName/MyApi$AddBatch.class
com/example/myApiName/MyApi$Builder.class
com/example/myApiName/MyApi.class
com/example/myApiName/MyApiRequest.class
com/example/myApiName/MyApiRequestInitializer.class
com/example/myApiName/MyApiScopes.class
com/example/myApiName/model/Thing.class
com/example/myApiName/model/OtherThing.class