เอกสาร API V2

SDK อย่างเป็นทางการของ GenderAPI.io V2

ติดตั้ง SDK อย่างเป็นทางการของ GenderAPI.io V2 สำหรับ Python, JavaScript, PHP, Ruby, Java, R และ C# พร้อมเปรียบเทียบแพ็กเกจ ข้อกำหนด และลักษณะการทำงานของคำขอที่เหมือนกันทุก SDK

เลือกแพ็กเกจ

SDK โอเพนซอร์สอย่างเป็นทางการเรียกใช้ API V2 เดียวกับที่อธิบายไว้ในคู่มือเหล่านี้ แพ็กเกจแต่ละตัวในเวอร์ชัน 2.x ใช้ API V2 สำหรับโปรเจกต์ใหม่ให้ติดตั้งเวอร์ชันสาย 2.x

ภาษาแพ็กเกจการติดตั้งข้อกำหนด
Pythongenderapi (PyPI)pip install "genderapi>=2,<3"Python 3.9+
JavaScript / TypeScriptgenderapi (npm)npm install genderapi@2Node.js 18+
PHPgenderapi/genderapi (Packagist)composer require "genderapi/genderapi:^2.0"PHP 8.1+
Rubygenderapi (RubyGems)gem install genderapi -v "~> 2.0"Ruby 3.0+
Javacom.github.GenderAPI:genderapi-java (JitPack)implementation 'com.github.GenderAPI:genderapi-java:v2.0.0'Java 11+
Rgenderapi (GitHub)remotes::install_github("GenderAPI/genderapi-R", ref = "v2.0.0")R 4.1+
C# / .NETGenderAPI (NuGet)dotnet add package GenderAPI.NET 8 หรือ .NET Standard 2.0

หมายเหตุเกี่ยวกับรีจิสทรี

  • Java: เพิ่ม https://jitpack.io ในรายการ repository ของคุณ รุ่นเดียวกันนี้ยังเผยแพร่บน GitHub Packages ในชื่อ io.genderapi:genderapi ด้วย ซึ่งต้องใช้โทเค็น GitHub ที่มีสิทธิ์ read:packages
  • R: CRAN ยังคงให้บริการแพ็กเกจ 1.x ระหว่างที่เวอร์ชัน 2.0.0 อยู่ในขั้นตอนการตรวจสอบของ CRAN ให้ติดตั้ง 2.0.0 จากแท็กบน GitHub จนกว่า CRAN จะเผยแพร่เวอร์ชันนี้
  • JavaScript: แพ็กเกจนี้มีไว้สำหรับรันไทม์ฝั่งเซิร์ฟเวอร์ อย่าใช้ในโค้ดฝั่งเบราว์เซอร์ เพราะจะทำให้คีย์ API ของคุณถูกเปิดเผย

ลักษณะการทำงานที่เหมือนกัน

  • ไคลเอนต์แต่ละตัวอ่านคีย์ API จาก GENDERAPI_API_KEY หรือรับคีย์ผ่านคอนสตรักเตอร์ เก็บคีย์ไว้บนเซิร์ฟเวอร์ของคุณ
  • หากไม่มีคีย์ API คำขอจะใช้การทดลองใช้ตาม IP ที่ใช้ร่วมกัน ซึ่งให้ 10 เครดิตต่อที่อยู่ IP ทุก 24 ชั่วโมง
  • การนำเข้าแพ็กเกจหรือการสร้างไคลเอนต์จะไม่ส่งคำขอใด ๆ การเรียกเมธอดแต่ละครั้งจะส่งคำขอเพียงหนึ่งครั้งเท่านั้น
  • ไม่มี SDK ใดส่งคำขอซ้ำโดยอัตโนมัติ การส่งคำขอซ้ำถือเป็นงานใหม่ที่หักเครดิตตามปกติ จึงควรตรวจสอบข้อผิดพลาดและสถานะการหักเครดิตก่อน
  • SDK จะไม่ติดตามการเปลี่ยนเส้นทาง และระยะหมดเวลาเริ่มต้นคือ 10 วินาที
  • ผลลัพธ์ที่ไม่ทราบถือเป็นการตอบกลับที่สำเร็จ โดย gender เป็น null และคำขอจะถูกหักเครดิตตามปกติ
  • ข้อผิดพลาดจะแสดงสถานะ HTTP รหัสข้อผิดพลาด ID คำขอ และค่า Retry-After หากมี

ตัวอย่างเริ่มต้นอย่างรวดเร็ว

แต่ละตัวอย่างส่งคำขอคาดการณ์ชื่อหนึ่งรายการและใช้ 1 เครดิต ตั้งค่า GENDERAPI_API_KEY ในสภาพแวดล้อมของเซิร์ฟเวอร์ก่อน README ของแต่ละ repository อธิบายคำขอแบบกลุ่ม การตรวจสอบการใช้งาน และการจัดการข้อผิดพลาด

Python
from genderapi import GenderAPI

client = GenderAPI()  # reads GENDERAPI_API_KEY
result = client.name("Alice", country="US")
print(result.data.gender, result.data.result_status)
print(result.meta.usage.charged_credits)
JavaScript / TypeScript
import { GenderAPI } from "genderapi";

const client = new GenderAPI(); // reads GENDERAPI_API_KEY
const { data, meta } = await client.name("Andrea", { country: "IT" });
console.log(data.gender, data.result_status, meta.usage.charged_credits);
PHP
<?php
require __DIR__ . '/vendor/autoload.php';

use GenderApi\Client;

$client = new Client(); // reads GENDERAPI_API_KEY
$result = $client->name('สมชาย', country: 'TH');
echo $result->data->gender ?? 'unknown', ' ', $result->meta->usage->chargedCredits, "\n";
Ruby
require "genderapi"

client = GenderAPI::Client.new # reads ENV["GENDERAPI_API_KEY"]
result = client.name("Andrea", country: "IT")
puts result.data.gender, result.usage.charged_credits
Java
import io.genderapi.GenderApiClient;
import io.genderapi.model.GenderResponse;

GenderApiClient client = new GenderApiClient(); // reads GENDERAPI_API_KEY
GenderResponse response = client.name("Andrea", "IT");
System.out.println(response.getData().getGender());
System.out.println(response.getMeta().getUsage().getChargedCredits());
R
library(genderapi)

res <- genderapi_name("Niran", country = "TH")  # reads GENDERAPI_API_KEY
res$data$gender
res$meta$usage$charged_credits
C# / .NET
using GenderApi;

using var client = new GenderApiClient(); // reads GENDERAPI_API_KEY
GenderResponse res = await client.NameAsync("Alice", country: "US");
Console.WriteLine(res.Data!.Gender ?? "unknown");
Console.WriteLine(res.Meta!.Usage!.ChargedCredits);

ใช้ 1.x ต่อไปสำหรับการเชื่อมต่อ V1

แพ็กเกจเวอร์ชัน 1.x ยังคงพร้อมใช้งานสำหรับการเชื่อมต่อ V1 ที่มีอยู่และไม่ได้ถูกประกาศเลิกใช้ ให้ล็อกเมเจอร์เวอร์ชันไว้เพื่อไม่ให้การอัปเดตติดตั้ง 2.x แล้วจึงย้ายการเชื่อมต่อแต่ละรายการเมื่อคุณพร้อม

ภาษาการติดตั้ง 1.x
Pythonpip install "genderapi<2"
JavaScript / TypeScriptnpm install genderapi@1
PHPcomposer require "genderapi/genderapi:^1.0"
Rubygem install genderapi -v "~> 1.0"
Javaimplementation 'com.github.GenderAPI:genderapi-java:v1.0.3'
Rremotes::install_version("genderapi", "1.0.3")

ซอร์สโค้ดและการแจ้งปัญหา

SDK ทุกตัวเป็นโอเพนซอร์ส แจ้งข้อบกพร่องหรือขอฟีเจอร์ได้ใน repository บน GitHub ของ SDK นั้น