پرش به مستندات
Java

پیکربندی

هر گزینهٔ کلاینت، آنچه از محیط می‌خواند و آنچه رد می‌کند.

گزینه‌ها

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());
گزینهچه می‌کند
apiKeyکلید API فضای کاری که با oe_live_ یا oe_test_ آغاز می‌شود. در یک فراخوانی، فقط برای همان فراخوانی با کلید دیگری عمل می‌کند.
accessTokenیک توکن دسترسی OAuth، برای برنامه‌ای که یک شخص متصل کرده است. یک کلید یا یک توکن بدهید، نه هر دو.
accessToken(Supplier<String>)تابعی که توکن دسترسی را برمی‌گرداند. پیش از هر درخواست اجرا می‌شود، پس جای تمدید توکن همین‌جاست.
baseUrlمبدأ API. به میزبان ساده‌ای مانند localhost:2222 طرح آن افزوده می‌شود.
httpClientjava.net.http.HttpClient خودتان، برای یک پراکسی، یک SSLContext سفارشی یا یک اجراکننده.
timeoutاینکه یک تلاش چقدر می‌تواند طول بکشد. پیش‌فرض 30 ثانیه است، صفر آن را خاموش می‌کند، و بارگذاری‌ها دست‌کم ده دقیقه صبر می‌کنند.
maxRetriesتعداد دفعاتی که یک درخواست ناموفق دوباره امتحان می‌شود. پیش‌فرض 2 است، و 0 یک بار می‌فرستد.
userAgentسرآیند User-Agent را جایگزین می‌کند، که openemail-java/ به‌همراه نسخه است.
header, headersیک سرآیند به هر درخواست اضافه می‌کند.
disableUpdateNoticeآن یک خط در خروجی خطای استاندارد را که می‌گوید نسخهٔ تازه‌تری منتشر شده خاموش می‌کند. OPENEMAIL_DISABLE_UPDATE_NOTICE=1 هم همین کار را می‌کند.

هر چه را ننویسید از محیط خوانده می‌شود: OPENEMAIL_API_KEY، سپس OPENEMAIL_ACCESS_TOKEN، و OPENEMAIL_BASE_URL. client.mode() می‌گوید کلید یک کلید live است یا test.

گزینه‌های یک فراخوانی

پارامترهای پرس‌وجو و تنظیمات فراخوانی در یک RequestOptions قرار می‌گیرند که پس از آرگومان‌ها داده می‌شود. برای apiKey، idempotencyKey، timeout، limit و cursor متد دارد، و set هر گزینهٔ دیگری را با همان نامی که API به کار می‌برد می‌پذیرد. هر متد گزینه‌هایی را می‌پذیرد که مدخلش در مرجع فهرست کرده است، و گزینه‌ای که به آن مربوط نیست پیش از ارسال هر چیزی رد می‌شود.

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

یک RequestOptions تغییرناپذیر است: هر متد یک نمونهٔ تازه برمی‌گرداند، پس مقدار مشترک هرگز با کدی که چیزی به آن می‌افزاید عوض نمی‌شود. قطع کردن ریسمان، فراخوانیِ در حال انتظار را متوقف می‌کند.

آنچه کلاینت رد می‌کند

  • کلیدی که با oe_live_ یا oe_test_ شروع نمی‌شود، و کلیدی همراه با یک توکن دسترسی.
  • فرستادن اعتبارنامه روی http: ساده، مگر آنکه سرور روی همین دستگاه در localhost، یک نشانی 127.x.x.x یا ::1 باشد.
  • نشانی پایه روی 0.0.0.0، که نشانی‌ای است که سرور روی آن گوش می‌دهد. از 127.0.0.1 با همان درگاه استفاده کنید.
  • شناسهٔ خالی، یا شناسه‌ای که فقط از نقطه ساخته شده و تجزیه‌گر URL آن را حذف می‌کند.
  • دنبال کردن یک تغییر مسیر. کلاینت HTTP پیش‌فرض هرگز هیچ تغییر مسیری را دنبال نمی‌کند، پس اعتبارنامه هرگز به میزبان دیگری نمی‌رود.

چاپ کردن یک کلاینت، یک RequestOptions یا یک استثنا هرگز اعتبارنامه را نشان نمی‌دهد. کلید، توکن و مقدار سرآیندهای سفارشی از toString() و از هر پیامی که کلاینت می‌نویسد بیرون می‌مانند.

نقطهٔ پایانی بدون متد

client.raw().request هر مسیری را با اعتبارنامه، نشانی پایه، مهلت زمانی و سیاست تلاش دوبارهٔ کلاینت فراخوانی می‌کند. مسیر باید با یک / تنها آغاز شود، و مسیری که از مبدأ نشانی پایه بیرون برود رد می‌شود.

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