关于从Java客户端使用Google Cloud端点的文章不多。 有迹象表明,可以在各种文档中完成此操作,但对此的书面介绍很少。 我已经能够使它正常工作,但是有一些问题。

第一个问题:是否存在一些有关如何通过Java客户端使用Google Cloud Endpoint的文档或示例?

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

井字游戏示例的视频(转到23分钟标记)显示了一些源文件,这些源文件已从endpoint-libs目录复制到Android客户端应用中。

https://www.youtube.com/watch?v=NU_wNR_UUn4

第二个问题:关于创建上述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客户端? 什么不适用?

===============>>#1 票数:1

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

与Maven

我的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>

请注意<goal>endpoints_get_client_lib</goal>条目,该条目未包含在原始框架中,并且在这里很重要。

对我来说,这会生成并安装一个名为{myApiName}-v1-1.21.0-SNAPSHOT.jar的jar。 有关在.jar中看到的内容,请参见下面的“结果”。

没有Maven

在幕后,Maven似乎正在使用alex @ 指向的机制之一, endpoints.shdocs )。 当我在端点模块上运行“ mvn install”时,我看到一条消息,例如

Executing endpoints Command=[get-client-lib,
  -cp, {lots of .jar files}, -o, {path to output WEB-INF dir},
  -w, {path to generated file working dir?}, -l, java,
  -bs, maven, com.example.MyApi]

我猜这是传递给endpoints.sh的args的列表,尽管我没有检查。

结果

生成的.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

  ask by Mike Dee translate from so

未解决问题?本站智能推荐:

2回复

生成Google云端点客户端库时出错

在过去的几周里,我一直在使用GAE / J和Google Cloud Endpoints开发应用程序。 我创建了我的自定义端点(使用注释),虽然我遇到了很多问题,但我可以解决它们,一切都工作得很好。 但是现在(2013年4月22日)我尝试在端点方法中进行更改,突然Google Eclip
1回复

生成云端点客户端库更新库

在eclipse(appengine-> android)上,我如何更新由“生成云终结点客户端库”命令生成的库,这样它将始终生成更新的版本? 我的意思是google-api-client-1.18.0.jar到google-api-client-1.20.0.jar。 他们来自
1回复

Java Google Cloud Endpoints API UTF-8 Unicode汉字生成的Android客户端?

我正在Google App Engine服务器上使用Google Cloud Endpoints API,并在本机Android应用程序上使用生成的客户端来发布和获取数据。 除非ASCII字符(如中文字符)以及“”和“”等字符显示为奇怪的字符(例如)外,此方法一直很好。 我必须说我不太了
1回复

Appengine云端点客户端生成不生成源jar文件

GAE版本:1.8.2 从今天早晨开始生成客户端库。 我尝试删除endpoints-lib目录并尝试重新生成客户端代码。 没有帮助。 重要的是日志中没有错误! .properties文件包含以下内容: SRC = .. /库来源/ nabthethief-devi
1回复

生成云端点客户端库突然停止工作

通常,当我右键单击我的应用程序引擎项目并使用Eclipse的Google插件选择“生成云端点客户端库”时,它会生成客户端库并自动将它们复制到Android客户端项目中。 但是,由于没有明显的原因,客户端库不再被复制到客户端项目。 事实上,它已被删除(所以现在我的项目中有很多错误,因为它找
1回复

生成的客户端库上的NoClassDefFoundError-GAE云端点

我的GAE Java项目中有2个端点。 当我使用GPE eclipse插件为我的Android项目生成客户端库时,生成的代码没有任何错误。 (我不知道为什么生成的代码位于com.google.api.services包中)。 问题是,当我启动我的Android应用程序时,为Device
1回复

Windows逐步生成Google Cloud Endpoints客户端库

嗨,大家好,我在使用Google机器在Android Studio上为Android客户端生成库生成Google Cloud时会遇到问题。 我尝试按照此链接中所示的步骤进行操作: https://cloud.google.com/appengine/docs/java/endpoints
4回复

Google Cloud Endpoints生成的iOS客户端无法正常工作

我有一个使用GAE Python SDK 1.8.3在本地运行的python网络服务。 在对API进行注释并使用Google Cloud Endpoints Service Generator生成iOS客户端类之后,我尝试使用它来调用远程过程。 如果我使用API​​ Explorer测试
1回复

Google Cloud Endpoint客户端库生成不起作用

我试图生成我的第一个Google Cloud Endpoint,但无法生成客户端库。 首先,我尝试使用GPE。 它将在Eclipse项目中生成带有一堆文件的endpoints-libs文件夹。 readme.html说:“可以在zip文件的顶级目录中找到生成的特定于服务的库:googl
1回复

Google Cloud Endpoints客户端库生成重复实体

当我为端点生成客户端库时,我发现了一种奇怪的行为。 在我的appengine项目中,我有两个端点类来处理两个实体的操作: 实体组的GroupEndpoint ContactEndpoint为实体联系人 组实体有一个联系人列表,因为有时当调用GroupEndpoint的AP