Belgelere geç
Java

Yapılandırma

İstemcinin her seçeneği, ortamdan okudukları ve reddettikleri.

Seçenekler

Client.java
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çenekNe yapar
apiKeyoe_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.
accessTokenBir 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.
baseUrlAPI'nin kaynağı. localhost:2222 gibi yalın bir ana makineye şeması eklenir.
httpClientBir proxy, özel bir SSLContext ya da bir yürütücü için kendi java.net.http.HttpClient nesneniz.
timeoutTek 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.
maxRetriesBaşarısız bir isteğin kaç kez yeniden deneneceği. Varsayılan 2'dir, 0 ise bir kez gönderir.
userAgentopenemail-java/ ile sürümden oluşan User-Agent üstbilgisini değiştirir.
header, headersHer isteğe bir üstbilgi ekler.
disableUpdateNoticeDaha 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.

AnotherWorkspace.java
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 da oe_test_ ile başlamayan bir anahtar ve bir erişim belirteciyle birlikte verilen bir anahtar.
  • Sunucu bu makinede localhost, bir 127.x.x.x adresi ya da ::1 üzerinde değilse, bir kimlik bilgisini düz http: üzerinden göndermek.
  • Bir sunucunun dinlediği adres olan 0.0.0.0 üzerindeki bir temel URL. Aynı bağlantı noktasıyla 127.0.0.1 kullanı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.

RawRequest.java
Object label = client.raw().request("POST", "/labels", Body.of("name", "Invoices")); System.out.println(label);