Zaman Aşımları ve Hatalar

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());
}