ระยะหมดเวลาและข้อผิดพลาด

เอกสารนี้อธิบายวิธีตั้งระยะหมดเวลาและจัดการข้อผิดพลาด HTTP ที่โค้ดของคุณ อาจได้รับเมื่อคุณใช้ไลบรารีของไคลเอ็นต์ Google API สำหรับ Java

เนื้อหา

การตั้งค่าระยะหมดเวลา

ในตัวอย่างต่อไปนี้ ซึ่งใช้ Google Analytics API พารามิเตอร์ ระบบใช้ setConnectTimeout และ setReadTimeout เพื่อตั้งค่าการเชื่อมต่อและ การหมดเวลาในการอ่านถึงสามนาที (เป็นมิลลิวินาที) สำหรับคำขอทั้งหมด:

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

การจัดการการตอบกลับข้อผิดพลาด HTTP จาก Google APIs

เมื่อมีการตรวจพบรหัสสถานะข้อผิดพลาดในการตอบกลับ HTTP ไปยัง Google API ที่ ใช้รูปแบบ JSON ไลบรารีที่สร้างขึ้นจะมี GoogleJsonResponseException

ข้อผิดพลาดใช้รูปแบบที่ระบุไว้ในการตอบกลับข้อผิดพลาด

ตัวอย่างต่อไปนี้แสดงวิธีหนึ่งที่คุณสามารถจัดการข้อยกเว้นเหล่านี้ได้

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