İSTEMCİLER VE KOD ÖRNEKLERİ
Burada API'miz için mevcut istemcilerin bir listesini ve farklı diller için bazı kodlama örneklerini bulabilirsiniz. Kodunuzda sağlanan tüm örnekleri kullanmaktan çekinmeyin.
Composer ile PHP
Öncelikle kütüphanemizi Composer ile yükleyin:
$ 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();
}
Müşteri belgelerinin tamamını buradan görüntüleyin:
PHP geçmişi
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
Öncelikle npm ile kütüphanemizi yükleyin:
$ 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);
}
Müşteri belgelerinin tamamını buradan görüntüleyin:
JavaScript
Öncelikle npm ile kütüphanemizi yükleyin:
$ 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);
}
Müşteri belgelerinin tamamını buradan görüntüleyin:
Python
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
Java
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();
}
}
}
C#
Örnek bir proje indirin buradan:
Belgeler:
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);
}
}
}
Diğer Katkıda Bulunan İstemciler ve Örnekler
- PHP Yii2 Framework: https://github.com/RichWeber/yii2-gender-api
- NodeJS: https://github.com/MaxGfeller/gender-api-client
- Ruby Gist: https://gist.github.com/sshaw/07f80e166dbe6d4b64b8
- R: https://gist.github.com/leeper/9021068
- Python: https://github.com/laurauzcategui/genderAPI
Lisanslar farklı olabilir. Telif hakkı ilgili Yazar'a aittir.