เอกสารนี้อธิบายถึงวิธีตั้งค่าระยะหมดเวลาและจัดการข้อผิดพลาด HTTP ที่โค้ดของคุณอาจได้รับเมื่อคุณใช้ไลบรารีของไคลเอ็นต์ Google API สําหรับ Java
เนื้อหา
การตั้งค่าระยะหมดเวลา
ในตัวอย่างต่อไปนี้ ซึ่งใช้ Google Analytics API ระบบจะใช้เมธอด setConnectTimeout
และ setReadTimeout
เพื่อตั้งค่าระยะหมดเวลาสําหรับการเชื่อมต่อและการอ่านเป็น 3 นาที (หน่วยเป็นมิลลิวินาที) สําหรับคําขอทั้งหมด
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());
}