Bu dokümanda, Java için Google API İstemci Kitaplığı'nı kullandığınızda kodunuzun alabileceği HTTP hatalarının nasıl ele alınacağı ve zaman aşımlarının nasıl ayarlanacağı açıklanmaktadır.
İçindekiler
Zaman aşımlarını ayarlama
Google Analytics API'nin kullanıldığı aşağıdaki örnekte, bağlantı ve okuma zaman aşımlarını tüm istekler için üç dakika (milisaniye cinsinden) olarak ayarlamak üzere setConnectTimeout
ve setReadTimeout
yöntemleri kullanılmıştır:
private HttpRequestInitializer setHttpTimeout(final HttpRequestInitializer requestInitializer) {
return new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest httpRequest) throws IOException {
requestInitializer.initialize(httpRequest);
httpRequest.setConnectTimeout(3 * 60000); // 3 minutes connect timeout
httpRequest.setReadTimeout(3 * 60000); // 3 minutes read timeout
}
};
GoogleCredential credential = ....
final Analytics analytics = Analytics.builder(new NetHttpTransport(), jsonFactory, setHttpTimeout(credential)).build();
Google API'lerinden HTTP hata yanıtlarını işleme
JSON biçimini kullanan bir Google API'sine HTTP yanıtında hata durum kodu algılandığında oluşturulan kitaplıklar bir GoogleJsonResponseException bildirir.
Hatalar, Hata yanıtları bölümünde belirtilen biçimi kullanır.
Aşağıdaki örnekte, bu istisnaları ele alabileceğiniz bir yol gösterilmektedir:
Drive.Files.List listFiles = drive.files.list();
try {
FileList response = listFiles.execute();
...
} catch (GoogleJsonResponseException e) {
System.err.println(e.getDetails());
}