Yapılandırma
İstemcinin her seçeneği, ortamdan okudukları ve reddettikleri.
Seçenekler
OpenEmail client = OpenEmail.builder() .apiKey(System.getenv("OPENEMAIL_API_KEY")) .baseUrl("https://api.openemail.uk") .timeout(Duration.ofSeconds(30)) .maxRetries(2) .header("X-Team", "billing") .build(); System.out.println(client.mode());| Seçenek | Ne yapar |
|---|---|
| apiKey | oe_live_ ya da oe_test_ ile başlayan çalışma alanı API anahtarı. Bir çağrıda verildiğinde, yalnızca o çağrı için başka bir anahtarla işlem yapar. |
| accessToken | Bir kişinin bağladığı uygulama için OAuth erişim belirteci. Bir anahtar ya da bir belirteç geçirin, ikisini birden değil. |
| accessToken(Supplier<String>) | Erişim belirtecini döndüren bir işlev. Her istekten önce çalışır, bu yüzden belirteci yenilemenin yeri burasıdır. |
| baseUrl | API'nin kaynağı. localhost:2222 gibi yalın bir ana makineye şeması eklenir. |
| httpClient | Bir proxy, özel bir SSLContext ya da bir yürütücü için kendi java.net.http.HttpClient nesneniz. |
| timeout | Tek bir denemenin ne kadar sürebileceği. Varsayılan 30 saniyedir, sıfır bunu kapatır ve yüklemeler en az on dakika bekler. |
| maxRetries | Başarısız bir isteğin kaç kez yeniden deneneceği. Varsayılan 2'dir, 0 ise bir kez gönderir. |
| userAgent | openemail-java/ ile sürümden oluşan User-Agent üstbilgisini değiştirir. |
| header, headers | Her isteğe bir üstbilgi ekler. |
| disableUpdateNotice | Daha yeni bir sürümün çıktığını söyleyen, standart hata çıktısındaki tek satırı kapatır. OPENEMAIL_DISABLE_UPDATE_NOTICE=1 de aynısını yapar. |
Belirtmediğiniz her şey ortamdan okunur: OPENEMAIL_API_KEY, sonra OPENEMAIL_ACCESS_TOKEN, ve OPENEMAIL_BASE_URL. client.mode(), anahtarın live mı yoksa test anahtarı mı olduğunu söyler.
Bir çağrıdaki seçenekler
Sorgu parametreleri ve çağrı ayarları, bağımsız değişkenlerden sonra geçirilen bir RequestOptions içinde yer alır. apiKey, idempotencyKey, timeout, limit ve cursor için birer yöntemi vardır; set ise diğer her seçeneği API'nin kullandığı adla alır. Her yöntem, başvuru girdisinde listelenen seçenekleri kabul eder ve uymayan bir seçenek hiçbir şey gönderilmeden reddedilir.
RequestOptions options = RequestOptions.of("folder", "inbox") .apiKey(System.getenv("OPENEMAIL_API_KEY")) .timeout(Duration.ofSeconds(5)) .limit(50); Page threads = client.threads().list(options); System.out.println(threads.size());Bir RequestOptions değiştirilemez: her yöntem yenisini döndürür, bu yüzden paylaşılan bir değer ona ekleme yapan kod tarafından asla değiştirilemez. İş parçacığını kesmek, bekleyen bir çağrıyı durdurur.
İstemcinin reddettikleri
oe_live_ya daoe_test_ile başlamayan bir anahtar ve bir erişim belirteciyle birlikte verilen bir anahtar.- Sunucu bu makinede
localhost, bir127.x.x.xadresi ya da::1üzerinde değilse, bir kimlik bilgisini düzhttp:üzerinden göndermek. - Bir sunucunun dinlediği adres olan
0.0.0.0üzerindeki bir temel URL. Aynı bağlantı noktasıyla127.0.0.1kullanın. - Boş bir kimlik ya da yalnızca noktalardan oluşan ve bir URL ayrıştırıcısının kaldıracağı bir kimlik.
- Bir yönlendirmeyi izlemek. Varsayılan HTTP istemcisi hiçbirini izlemez, bu yüzden bir kimlik bilgisi asla başka bir ana makineye gitmez.
Bir istemciyi, bir RequestOptions değerini ya da bir istisnayı yazdırmak hiçbir zaman kimlik bilgisi göstermez. Anahtar, belirteç ve özel üstbilgilerin değerleri toString() çıktısının ve istemcinin yazdığı her iletinin dışında tutulur.
Yöntemi olmayan bir uç nokta
client.raw().request, herhangi bir yolu istemcinin kimlik bilgisi, temel URL'si, zaman aşımı ve yeniden deneme ilkesiyle çağırır. Yol tek bir / ile başlamalıdır ve temel URL'nin kaynağının dışına çıkan bir yol reddedilir.
Object label = client.raw().request("POST", "/labels", Body.of("name", "Invoices")); System.out.println(label);