Zur Dokumentation springen
Java

Konfiguration

Jede Option des Clients, was er aus der Umgebung liest und was er ablehnt.

Optionen

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());
OptionWas es tut
apiKeyDer Workspace-API-Schlüssel, der mit oe_live_ oder oe_test_ beginnt. Bei einem Aufruf angegeben, gilt ein anderer Schlüssel nur für diesen Aufruf.
accessTokenEin OAuth-Zugriffstoken für eine App, die eine Person verbunden hat. Übergeben Sie einen Schlüssel oder ein Token, nicht beides.
accessToken(Supplier<String>)Eine Funktion, die das Zugriffstoken zurückgibt. Sie läuft vor jeder Anfrage und ist damit der Ort, ein Token zu erneuern.
baseUrlDer Ursprung der API. Ein bloßer Host wie localhost:2222 bekommt sein Schema ergänzt.
httpClientIhr eigener java.net.http.HttpClient, für einen Proxy, einen eigenen SSLContext oder einen Executor.
timeoutWie lange ein Versuch dauern darf. Der Standard sind 30 Sekunden, null schaltet es ab, und Uploads warten mindestens zehn Minuten.
maxRetriesWie oft eine fehlgeschlagene Anfrage erneut versucht wird. Der Standard ist 2, und 0 sendet einmal.
userAgentErsetzt den Header User-Agent, der aus openemail-java/ und der Version besteht.
header, headersFügt jeder Anfrage einen Header hinzu.
disableUpdateNoticeSchaltet die eine Zeile auf der Standardfehlerausgabe ab, die meldet, dass eine neuere Version erschienen ist. OPENEMAIL_DISABLE_UPDATE_NOTICE=1 bewirkt dasselbe.

Alles, was Sie weglassen, wird aus der Umgebung gelesen: OPENEMAIL_API_KEY, dann OPENEMAIL_ACCESS_TOKEN, und OPENEMAIL_BASE_URL. client.mode() sagt, ob der Schlüssel ein live- oder ein test-Schlüssel ist.

Optionen bei einem Aufruf

Abfrageparameter und Einstellungen eines Aufrufs stehen in einem RequestOptions, das nach den Argumenten übergeben wird. Es hat eine Methode für apiKey, idempotencyKey, timeout, limit und cursor, und set nimmt jede andere Option unter dem Namen an, den die API verwendet. Jede Methode nimmt die Optionen an, die ihr Referenzeintrag aufführt, und eine Option, die nicht passt, wird abgelehnt, bevor etwas gesendet wird.

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());

Ein RequestOptions ist unveränderlich: Jede Methode gibt ein neues zurück, sodass ein geteilter Wert nie von dem Code geändert werden kann, der etwas hinzufügt. Das Unterbrechen des Threads beendet einen wartenden Aufruf.

Was der Client ablehnt

  • Einen Schlüssel, der nicht mit oe_live_ oder oe_test_ beginnt, und einen Schlüssel zusammen mit einem Zugriffstoken.
  • Das Senden von Zugangsdaten über einfaches http:, außer der Server läuft auf diesem Rechner unter localhost, einer 127.x.x.x-Adresse oder ::1.
  • Eine Basis-URL auf 0.0.0.0, einer Adresse, auf der ein Server lauscht. Verwenden Sie 127.0.0.1 mit demselben Port.
  • Eine leere ID oder eine, die nur aus Punkten besteht und die ein URL-Parser entfernen würde.
  • Einer Weiterleitung zu folgen. Der Standard-HTTP-Client folgt nie einer, sodass Zugangsdaten nie zu einem anderen Host gelangen.

Die Ausgabe eines Clients, eines RequestOptions oder einer Exception zeigt nie Zugangsdaten. Der Schlüssel, das Token und die Werte eigener Header bleiben aus toString() und aus jeder Meldung heraus, die der Client schreibt.

Ein Endpunkt ohne Methode

client.raw().request ruft jeden Pfad mit den Zugangsdaten, der Basis-URL, dem Timeout und der Wiederholungsrichtlinie des Clients auf. Der Pfad muss mit einem einzelnen / beginnen, und ein Pfad, der den Ursprung der Basis-URL verlässt, wird abgelehnt.

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