几周前,我发布了一个应用程序,用于Google Books API
显示有关书籍的一些数据。
从那以后,我向 Google 发送了配额请求,以增加配额的数量,他们慷慨地同意了,这件事一切正常。
我发布了我的应用程序的更新,在此更新中,我包含了 API 密钥以使这个更高的配额工作,我一直注意到\一些用户报告我说加载结果变得更糟,我认为它与事实上,所有请求都是从我的应用程序发送的,而不是从每个用户发送的。
我已经读过一些调用的参数quotaUser
应该有所帮助,但我不确定这是否是我需要的以及如何实现它。
现在我向 Google 图书发送的请求如下:
public class BookClient {
private static final String API_BASE_URL = "https://www.googleapis.com/books/v1/";
private AsyncHttpClient client;
public static BookClient instance = new BookClient();
public BookClient() {
this.client = new AsyncHttpClient();
}
public static BookClient getInstance() {
return instance;
}
public void getBooks(final String query, JsonHttpResponseHandler handler) {
try {
client.get( API_BASE_URL + "volumes?q=" + URLEncoder.encode( query, "utf-8" ) + "&printType=books&maxResults=20&fields=items/id,items/volumeInfo(title,authors,publisher,description,categories,averageRating)&key=MY_GOOGLE_BOOKS_API_KEY", handler );
} catch (UnsupportedEncodingException ignored) {
}
}
}
和
public class MyBookClient {
private static final String API_BASE_URL = "https://www.googleapis.com/books/v1/volumes/";
private AsyncHttpClient client;
public static MyBookClient instance = new MyBookClient();
public MyBookClient() {
this.client = new AsyncHttpClient();
}
public static MyBookClient getInstance() {
return instance;
}
public void getBooks(final String query, JsonHttpResponseHandler handler) {
try {
client.get( API_BASE_URL + URLEncoder.encode( query, "utf-8" ) + "?key=MY_GOOGLE_BOOKS_API_KEY", handler );
} catch (UnsupportedEncodingException ignored) {
}
}
}
这应该帮助我解决这个问题吗?如果是的话,有人可以举例说明如何使用它,因为我没有完全理解。
谢谢