API-CLIENTS & CODEVOORBEELDEN
Kies je programmeertaal om installatie-instructies en codevoorbeelden te bekijken
PHP with Composer
Official client library
PHP Legacy
Without Composer
TypeScript
Type-safe client
JavaScript
Node.js & Browser
Python
Data science ready
R
Statistical computing
Java
Enterprise ready
C#
.NET integration
PHP with Composer
View on GitHubOnze officiële PHP-clientbibliotheek maakt het eenvoudig om de Gender API in je PHP-applicaties te integreren met behulp van de Composer-pakketmanager.
Installeer eerst onze bibliotheek met composer:
$ composer require gender-api/client
use GenderApi\Client as GenderApiClient;
try {
$apiClient = new GenderApiClient('insert your API key');
// Query a single name
$lookup = $apiClient->getByFirstName('elisabeth');
if ($lookup->genderFound()) {
echo $lookup->getGender(); // female
}
// Query a full name and improve the result by providing a country code
$lookup = $apiClient->getByFirstNameAndLastNameAndCountry('Thomas Johnson', 'US');
if ($lookup->genderFound()) {
echo $lookup->getGender(); // male
echo $lookup->getFirstName(); // Thomas
echo $lookup->getLastName(); // Johnson
}
} catch (GenderApi\Exception $e) {
// Name lookup failed due to a network error or insufficient remaining requests
// left. See https://gender-api.com/en/api-docs/error-codes
echo 'Exception: ' . $e->getMessage();
}
Bekijk hier de volledige klantdocumentatie:
PHP Legacy
Losstaande PHP-implementatie zonder Composer-afhankelijkheid voor legacy-projecten of eenvoudige integraties.
function getGender($firstname) {
$myKey = 'insert your server key here';
$data = json_decode(file_get_contents(
'https://gender-api.com/get?key=' .
$myKey .
'&name=' . urlencode($firstname)));
return $data->gender;
}
echo getGender('markus'); //Output: male
TypeScript
View on GitHubTypeveilige client voor TypeScript-projecten met volledige IntelliSense-ondersteuning en strikte typecontrole.
Installeer eerst onze bibliotheek met npm:
$ npm i gender-api.com-client --save
import {Client as GenderApiClient, ResultSingleName} from "gender-api.com-client";
const genderApiClient = new GenderApiClient("your API key");
try {
genderApiClient.getByFirstName('theresa', (response: ResultSingleName) => {
console.log(response.gender); //female
console.log(response.accuracy); //98
});
genderApiClient.getByFirstNameAndCountry('john', 'US', (response: ResultSingleName) => {
console.log(response.gender); //male
console.log(response.accuracy); //99
});
}
catch(e) {
console.log('Error:', e);
}
Bekijk hier de volledige klantdocumentatie:
JavaScript
View on GitHubEenvoudige JavaScript-client voor Node.js- en browseromgevingen met een op Promises gebaseerde API.
Installeer eerst onze bibliotheek met npm:
$ npm i gender-api.com-client --save
try {
var GenderApi = require('gender-api.com-client');
var genderApiClient = new GenderApi.Client('your api key');
genderApiClient.getByFirstName('theresa', function (response) {
console.log(response.gender); //female
console.log(response.accuracy); //98
});
genderApiClient.getByFirstNameAndCountry('john', 'US', function (response) {
console.log(response.gender); //male
console.log(response.accuracy); //99
});
}
catch(e) {
console.log('Error:', e);
} Bekijk hier de volledige klantdocumentatie:
Python
Pythonic API-client met schone, goed leesbare code, perfect voor data science, machine learning en webapplicaties.
Python 3.*
import json
from urllib.request import urlopen
myKey = "insert your server key here"
url = "https://gender-api.com/get?key=" + myKey + "&name=kevin"
response = urlopen(url)
decoded = response.read().decode('utf-8')
data = json.loads(decoded)
print( "Gender: " + data["gender"]); #Gender: male
Python 2.*
import json
import urllib2
myKey = "insert your servery key here"
data = json.load(urllib2.urlopen("https://gender-api.com/get?key=" + myKey + "&name=markus"))
print "Gender: " + data["gender"]; #Gender: male
R
Perfect voor statistische analyse en data-scienceworkflows in R met naadloze integratie.
$ apt install r-cran-dplyr r-cran-httr2 r-cran-tibble r-cran-jsonlite
#' Gender API Client (single name only)
#'
#' Gets gender by a first name, optionally filtered by country.
#'
#' @param name A character string containing a single first name.
#' @param country Optional two-letter country code, see: https://gender-api.com/en/api-docs
#' @param api_key Your Gender-API.com API key.
#'
#' @return A tibble containing the estimated gender, number of samples,
#' accuracy (0–100), and the request duration in ms.
#' @export
#'
#' @examples
#' \dontrun{
#' gender("Andrea", country="US", api_key="YOUR_KEY")
#' gender("Andrea", country="IT")
#' }
#'
library(httr2)
library(dplyr)
gender <- function(name, country = NULL, api_key = Sys.getenv("GENDER_API_KEY")) {
if (missing(name) || length(name) != 1) {
stop("`name` must be a single string.")
}
if (is.null(api_key) || api_key == "") {
stop("API key is required. Set with `Sys.setenv(GENDER_API_KEY='your_key')` or pass via `api_key`.")
}
args <- list(
key = api_key,
name = name
)
if (!is.null(country)) args<- country
resp <- request("https://gender-api.com/get") %>%
req_url_query(!!!args) %>%
req_perform()
if (resp_status(resp) >= 400) {
stop("Request failed: ", resp_status_desc(resp))
}
out <- resp_body_json(resp, simplifyVector = TRUE)
tibble::as_tibble(out)
}
gender("Andrea", country="US", api_key="<YOUR API KEY>")
Java
Enterprise-ready Java-implementatie voor robuuste, schaalbare applicaties met goede foutafhandeling.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
public class Main {
public static void main(String[] args) {
try {
String myKey = "insert your server key here";
URL url = new URL("https://gender-api.com/get?key=" + myKey + "&name=markus");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Error: " + conn.getResponseCode());
}
InputStreamReader input = new InputStreamReader(conn.getInputStream());
BufferedReader reader = new BufferedReader(input);
Gson gson = new Gson();
JsonObject json = gson.fromJson(reader, JsonObject.class);
String gender = json.get("gender").getAsString();
System.out.println("Gender: " + gender); // Gender: male
conn.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
.NET-integratie voor C#-applicaties met volledige async/await-ondersteuning en moderne C#-features.
Download een voorbeeldproject hier:
Documentatie:
https://github.com/microknights/Gender-API// Contributed Client: https://github.com/microknights/Gender-API
using MicroKnights.Gender_API;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace GenderAPI
{
class Program
{
public static async Task RunTests(GenderApiClient client)
{
var responseStats = await client.GetStatistics();
if( responseStats.IsSuccess ) {
Console.WriteLine($"IsLimitReached: {responseStats.IsLimitReached}");
Console.WriteLine($"Remaning requests: {responseStats.RemaningRequests}");
const string Name = "Frank Nielsen";
var responseName = await client.GetByNameAndCountry2Alpha(Name, "DK");
if( responseName.IsSuccess ) {
Console.WriteLine($"{Name} is {responseName.GenderType.DisplayName}");
}
else {
Console.WriteLine($"ERRORS: {responseName.ErrorCode}-{responseName.Exception.Message}");
}
}
else {
Console.WriteLine($"ERRORS: {responseStats.ErrorCode}-{responseStats.Exception.Message}");
}
}
public static Task UsingServiceProvider(string apiKey){
// client is thread-safe, and can be used static.
var serviceProvider = new ServiceCollection()
.UseGenderAPI(apiKey)
.BuildServiceProvider();
return RunTests(serviceProvider.GetRequiredService<GenderApiClient>());
}
public static Task PlainConsole(string apiKey){
// client is thread-safe, and can be used static.
var client = new GenderApiClient(
new HttpClient
{
BaseAddress = new Uri("https://gender-api.com")
},
new GenderApiConfiguration
{
ApiKey = apiKey
});
return RunTests(client);
}
static async Task Main(string[] args)
{
var apiKey = "?";
await PlainConsole(apiKey);
await UsingServiceProvider(apiKey);
}
}
}
Communitybijdragen
Licenties kunnen verschillen. Het auteursrecht berust bij de respectieve auteur.
Klaar om te beginnen?
Meld je gratis aan en krijg elke maand 100 aanvragen, zonder dat je een creditcard nodig hebt.