我正在使用Google + HTTP API向people/get端点发出许多请求。事实证明这很慢,因为它需要为每个用户 ID 请求一个 HTTP 请求。
文档中没有提到,但是有什么方法可以在Google Plus API上发出批处理请求吗?
或者,非常欢迎对此用例的任何优化提示。
我设法通过Google API Java客户端库在Google+ API上发出批处理请求。
下面是一个代码示例:
BatchRequest batch = plus.batch();
Get me = plus.people().get("me");
Get angularJS = plus.people().get("110323587230527980117");
BatchCallback<Person, GoogleJsonErrorContainer> cb = new BatchCallback<Person, GoogleJsonErrorContainer>() {
@Override
public void onSuccess(Person person, HttpHeaders responseHeaders)
throws IOException {
System.out.println("batch success");
System.out.println(person.getDisplayName());
}
@Override
public void onFailure(GoogleJsonErrorContainer e, HttpHeaders responseHeaders)
throws IOException {
System.out.println("batch failure");
}
};
batch.queue(me.buildHttpRequest(), Person.class, GoogleJsonErrorContainer.class, cb);
batch.queue(angularJS.buildHttpRequest(), Person.class, GoogleJsonErrorContainer.class, cb);
batch.execute();