从android调用Python google cloud endpoint api

时间:2013-03-25 19:08:19

标签: android python eclipse google-cloud-endpoints

此时我创建了一个名为paper的python app-engine端点api(也在app.yaml)文件中注明。我把所有的jar,包括…-java-1.13.2-beta-sources.jar文件放在我的android项目的libs目录中。如何调用我的一个Web服务(也称为端点方法)?因为在我不知道将引导我到api的包的名称,在python后端只是class PageApi(remote.Service):。想象一下,paper api有一个名为countPages(self):的方法。我该怎么称呼这项服务?我已经尝试导入import com.appspot.api.services.[etc]但是eclipse看不到导入路径。

编辑:

我重装了api。我检查api explorer上的一切看起来都没问题。然后我找到了两个似乎是我的包的包 - 除了它们根本不包含任何类。

import com.google.api.services.page.*;
import com.google.api.services.page.model.*;

如果它们确实是包裹,为什么会缺少课程?

1 个答案:

答案 0 :(得分:0)

首先。正确设置项目后,生成客户端库的同一向导会将其复制到Android项目并添加源文件。然后,您将在项目资源管理器的endpoint-libs文件夹中找到所需的软件包。请查看this post,了解如何使其发挥作用。

然后使用Android代码调用端点,如下所示:

final HttpTransport transport = AndroidHttp.newCompatibleTransport();
JsonFactory jsonFactory = new JacksonFactory();

endpointname.Builder builder = new endpointname.Builder( transport, jsonFactory, null );    
builder.setApplicationName( appName );

endpointname service = builder.build();

try {
   response = service.methodName( parameters ).execute();
} catch (IOException e) {
   Log.e(...);
}