Konfigurimi
Çdo opsion i klientit, çfarë lexon nga mjedisi dhe çfarë refuzon.
Opsionet
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());| Opsioni | Çfarë bën |
|---|---|
| apiKey | Çelësi API i hapësirës së punës, që fillon me oe_live_ ose oe_test_. Në një thirrje, vepron me një çelës tjetër vetëm për atë thirrje. |
| accessToken | Një token aksesi OAuth, për një aplikacion që e ka lidhur një person. Jepni një çelës ose një token, jo të dy. |
| accessToken(Supplier<String>) | Një funksion që kthen tokenin e aksesit. Ekzekutohet para çdo kërkese, prandaj është vendi ku rinovohet një token. |
| baseUrl | Origjina e API-së. Një hosti të thjeshtë si localhost:2222 i shtohet skema. |
| httpClient | java.net.http.HttpClient juaji, për një proxy, një SSLContext të personalizuar ose një ekzekutues. |
| timeout | Sa mund të zgjasë një përpjekje. Parazgjedhja është 30 sekonda, zeroja e fik, dhe ngarkimet presin të paktën dhjetë minuta. |
| maxRetries | Sa herë riprovohet një kërkesë e dështuar. Parazgjedhja është 2, dhe 0 dërgon një herë. |
| userAgent | Zëvendëson kokën User-Agent, që është openemail-java/ dhe versioni. |
| header, headers | I shton një kokë çdo kërkese. |
| disableUpdateNotice | Fik rreshtin e vetëm në daljen standarde të gabimeve që thotë se ka dalë një version më i ri. OPENEMAIL_DISABLE_UPDATE_NOTICE=1 bën të njëjtën gjë. |
Çdo gjë që e lini jashtë lexohet nga mjedisi: OPENEMAIL_API_KEY, pastaj OPENEMAIL_ACCESS_TOKEN, dhe OPENEMAIL_BASE_URL. client.mode() tregon nëse çelësi është çelës live apo test.
Opsionet në një thirrje
Parametrat e kërkimit dhe cilësimet e një thirrjeje vendosen në një RequestOptions, që jepet pas argumenteve. Ka një metodë për apiKey, idempotencyKey, timeout, limit dhe cursor, dhe set pranon çdo opsion tjetër me emrin që përdor API-ja. Çdo metodë pranon opsionet që rendit hyrja e saj në referencë, dhe një opsion që nuk i përket refuzohet para se të dërgohet diçka.
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());Një RequestOptions është i pandryshueshëm: çdo metodë kthen një të ri, kështu që një vlerë e ndarë nuk mund të ndryshohet kurrë nga kodi që i shton diçka. Ndërprerja e thread-it e ndal një thirrje që është në pritje.
Çfarë refuzon klienti
- Një çelës që nuk fillon me
oe_live_oseoe_test_, dhe një çelës së bashku me një token aksesi. - Dërgimin e një kredenciali përmes
http:të thjeshtë, përveç kur serveri është në këtë makinë, telocalhost, te një adresë127.x.x.xose te::1. - Një URL bazë te
0.0.0.0, që është një adresë ku dëgjon një server. Përdorni127.0.0.1me të njëjtën portë. - Një id bosh, ose një të përbërë vetëm nga pika, të cilën një analizues URL-je do ta hiqte.
- Ndjekjen e një ridrejtimi. Klienti HTTP i parazgjedhur nuk ndjek kurrë asnjë, kështu që një kredencial nuk udhëton kurrë te një host tjetër.
Shtypja e një klienti, e një RequestOptions ose e një përjashtimi nuk tregon kurrë një kredencial. Çelësi, tokeni dhe vlerat e kokave të personalizuara mbahen jashtë toString() dhe jashtë çdo mesazhi që shkruan klienti.
Një endpoint pa metodë
client.raw().request thërret çdo shteg me kredencialin, URL-në bazë, afatin kohor dhe politikën e riprovimeve të klientit. Shtegu duhet të fillojë me një / të vetme, dhe një shteg që del nga origjina e URL-së bazë refuzohet.
Object label = client.raw().request("POST", "/labels", Body.of("name", "Invoices")); System.out.println(label);