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