如何使用远程api google app引擎api客户端?

时间:2017-03-24 14:42:00

标签: java api google-app-engine servlets

我在GAE上测试应用。我已经补充道:

<servlet>
    <display-name>Remote API Servlet</display-name>
    <servlet-name>RemoteApiServlet</servlet-name>
    <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>RemoteApiServlet</servlet-name>
    <url-pattern>/remote_api</url-pattern>
</servlet-mapping>

on web.xml(服务器)。
现在,如何从本地检索存储在数据存储中的种类?
localhost - &gt; servlet客户端本地 - &gt; api - &gt;数据存储在线。数据存储在线 - &gt;本地。
您是否有一个客户端servlet示例,它检索存储在数据存储区中的用户(或列表,对象...)列表?

1 个答案:

答案 0 :(得分:0)

添加这些依赖:

<dependency>
  <groupId>com.google.appengine</groupId>
  <artifactId>appengine-remote-api</artifactId>
  <version>${appengine.sdk.version}</version>
</dependency>
<dependency>
  <groupId>com.google.appengine</groupId>
  <artifactId>appengine-api-1.0-sdk</artifactId>
</dependency> 

稍后使用类似的东西:

RemoteApiOptions options = new RemoteApiOptions()
    .server("your_app_id.appspot.com", 443)
    .useApplicationDefaultCredential();

RemoteApiInstaller installer = new RemoteApiInstaller();
installer.install(options);
DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
Query q=new Query("User"); 
Iterator<Entity> c=ds.prepare(q).asQueryResultIterator();
while (c.hasNext())
 {System.out.println(c.next());}
 installer.uninstall();

并参考doc