从安卓调用Python Google Cloud Endpoint API
目前我已经创建了一个叫做 paper
的 Python 应用引擎接口(api),这个信息也在 app.yaml
文件里提到过。我把所有的 jar 文件,包括 …-java-1.13.2-beta-sources.jar
文件,都放在了我的安卓项目的 libs 目录下。我该怎么调用我的一个网络服务(也就是接口方法)呢?我不知道哪个包名能让我找到这个 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
首先,一旦你正确设置了你的项目,之前用来生成客户端库的向导会把它复制到你的Android项目中,并提取源文件。然后你可以在项目资源管理器的endpoint-libs文件夹中找到你需要的包。你可以查看这篇文章,里面有一些关于如何让这个工作正常的建议。
接下来,你可以用下面的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(...);
}