المهلات والأخطاء

يصف هذا المستند كيفية ضبط المهلات والتعامل مع أخطاء 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 تستخدم تنسيق JSON، تعرض المكتبات التي تم إنشاؤها GoogleJsonResponseException.

تستخدم الأخطاء التنسيق المحدّد في استجابات الأخطاء.

يوضّح المثال التالي طريقة يمكنك من خلالها التعامل مع هذه الاستثناءات:

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