Hết thời gian chờ và lỗi

Tài liệu này mô tả cách đặt thời gian chờ và xử lý lỗi HTTP mà mã của bạn có thể nhận được khi bạn sử dụng Thư viện ứng dụng API của Google cho Java.

Nội dung

Đặt thời gian chờ

Trong ví dụ sau (sử dụng API Google Analytics), phương thức setConnectTimeoutsetReadTimeout được dùng để đặt thời gian chờ kết nối và đọc thành 3 phút (tính bằng mili giây) cho tất cả các yêu cầu:

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

Xử lý phản hồi lỗi HTTP từ các API của Google

Khi phát hiện mã trạng thái lỗi trong phản hồi HTTP cho một API Google sử dụng định dạng JSON, các thư viện đã tạo sẽ gửi một GoogleJsonResponseException.

Lỗi sử dụng định dạng được chỉ định trong Phản hồi lỗi.

Ví dụ sau đây cho thấy một cách bạn có thể xử lý các ngoại lệ này:

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