שגיאות זמן קצוב ושגיאות

במסמך הזה נסביר איך להגדיר זמנים קצובים לתפוגה ולטפל בשגיאות 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());
}