Zaman Aşımları ve Hatalar

Bu belgede, zaman aşımlarının nasıl ayarlanacağı ve kodunuzun içerdiği HTTP hatalarının nasıl ele alınacağı .

İçindekiler

Zaman aşımlarını ayarlama

Google Analytics API'nin kullanıldığı aşağıdaki örnekte Bağlantıyı ayarlamak için setConnectTimeout ve setReadTimeout yöntemleri kullanılır ve tüm istekler için zaman aşımlarını üç dakikaya (milisaniye cinsinden) okuma:

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 alınan HTTP hatası yanıtlarını işleme

Aşağıdaki özelliklere sahip bir Google API'sine verilen HTTP yanıtında hata durum kodu algılandığında: JSON biçimini kullandığında, oluşturulan kitaplıklar bir GoogleJsonResponseException atar.

Hatalar, Hata yanıtları bölümünde belirtilen biçimi kullanır.

Aşağıdaki örnekte, bu istisnaları ele almak için kullanabileceğiniz bir yöntem gösterilmiştir:

Drive.Files.List listFiles = drive.files.list();
try {
  FileList response = listFiles.execute();
  ...
} catch (GoogleJsonResponseException e) {
  System.err.println(e.getDetails());
}