Chọn gói
Các SDK mã nguồn mở chính thức gọi cùng API V2 được mô tả trong các hướng dẫn này. Phiên bản 2.x của mỗi gói dùng API V2. Hãy cài đặt dòng 2.x cho dự án mới.
| Ngôn ngữ | Gói | Cài đặt | Yêu cầu |
|---|---|---|---|
| Python | genderapi (PyPI) | pip install "genderapi>=2,<3" | Python 3.9+ |
| JavaScript / TypeScript | genderapi (npm) | npm install genderapi@2 | Node.js 18+ |
| PHP | genderapi/genderapi (Packagist) | composer require "genderapi/genderapi:^2.0" | PHP 8.1+ |
| Ruby | genderapi (RubyGems) | gem install genderapi -v "~> 2.0" | Ruby 3.0+ |
| Java | com.github.GenderAPI:genderapi-java (JitPack) | implementation 'com.github.GenderAPI:genderapi-java:v2.0.0' | Java 11+ |
| R | genderapi (GitHub) | remotes::install_github("GenderAPI/genderapi-R", ref = "v2.0.0") | R 4.1+ |
| C# / .NET | GenderAPI (NuGet) | dotnet add package GenderAPI | .NET 8 hoặc .NET Standard 2.0 |
Lưu ý về kho gói
- Java: thêm https://jitpack.io vào danh sách repository của bạn. Cùng bản phát hành này cũng được xuất bản lên GitHub Packages với tên io.genderapi:genderapi; cách này cần GitHub token có quyền read:packages.
- R: CRAN vẫn cung cấp gói 1.x trong khi phiên bản 2.0.0 đang được CRAN xem xét. Hãy cài đặt 2.0.0 từ tag trên GitHub cho đến khi CRAN xuất bản phiên bản này.
- JavaScript: gói này dành cho môi trường chạy phía máy chủ. Không dùng gói trong mã trình duyệt vì làm vậy sẽ để lộ khóa API của bạn.
Hành vi chung
- Mỗi client đọc khóa API từ GENDERAPI_API_KEY hoặc nhận khóa qua hàm khởi tạo. Hãy giữ khóa trên máy chủ của bạn.
- Khi không có khóa API, yêu cầu sẽ dùng thử theo IP dùng chung: 10 tín dụng cho mỗi địa chỉ IP trong mỗi 24 giờ.
- Việc nhập gói hoặc tạo client không gửi yêu cầu nào. Mỗi lần gọi phương thức gửi đúng một yêu cầu.
- Không SDK nào tự động thử lại yêu cầu. Mỗi lần thử lại là một thao tác mới được tính phí bình thường, vì vậy hãy kiểm tra lỗi và trạng thái tính phí trước.
- Các SDK không đi theo chuyển hướng và thời gian chờ mặc định là 10 giây.
- Kết quả không xác định là một phản hồi thành công: gender là null và yêu cầu được tính phí bình thường.
- Lỗi cung cấp mã trạng thái HTTP, mã lỗi, ID yêu cầu và giá trị Retry-After nếu có.
Ví dụ bắt đầu nhanh
Mỗi ví dụ gửi một yêu cầu dự đoán tên và tốn 1 tín dụng. Trước tiên, hãy đặt GENDERAPI_API_KEY trong môi trường máy chủ. README của từng repository hướng dẫn yêu cầu lô, kiểm tra mức sử dụng và xử lý lỗi.
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)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
require __DIR__ . '/vendor/autoload.php';
use GenderApi\Client;
$client = new Client(); // reads GENDERAPI_API_KEY
$result = $client->name('Tuấn', country: 'VN');
echo $result->data->gender ?? 'unknown', ' ', $result->meta->usage->chargedCredits, "\n";require "genderapi"
client = GenderAPI::Client.new # reads ENV["GENDERAPI_API_KEY"]
result = client.name("Andrea", country: "IT")
puts result.data.gender, result.usage.charged_creditsimport 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());library(genderapi)
res <- genderapi_name("Huong", country = "VN") # reads GENDERAPI_API_KEY
res$data$gender
res$meta$usage$charged_creditsusing 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);Giữ tích hợp V1 trên 1.x
Các gói phiên bản 1.x vẫn có sẵn cho các tích hợp V1 hiện có và không bị đánh dấu ngừng sử dụng. Hãy cố định phiên bản chính để bản cập nhật không cài đặt 2.x, sau đó chuyển đổi từng tích hợp khi bạn sẵn sàng.
| Ngôn ngữ | Cài đặt 1.x |
|---|---|
| Python | pip install "genderapi<2" |
| JavaScript / TypeScript | npm install genderapi@1 |
| PHP | composer require "genderapi/genderapi:^1.0" |
| Ruby | gem install genderapi -v "~> 1.0" |
| Java | implementation 'com.github.GenderAPI:genderapi-java:v1.0.3' |
| R | remotes::install_version("genderapi", "1.0.3") |
Mã nguồn và báo cáo sự cố
Mỗi SDK đều là mã nguồn mở. Hãy báo lỗi hoặc đề xuất tính năng trong repository GitHub tương ứng.