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ý các lỗi HTTP mà mã của bạn có thể nhận được khi bạn 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 đây, việc sử dụng API Google Analytics, Các phương thức setConnectTimeoutsetReadTimeout dùng để thiết lập phương thức kết nối và thời gian chờ đọ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 tới một API của Google sử dụng định dạng JSON, nên các thư viện được tạo sẽ gửi một GoogleJsonResponseException.

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

Ví dụ sau cho thấy một cách mà 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());
}