Todennus

Kaikki GenderAPI:n API-pyynnöt vaativat todennuksen. Voit tunnistaa pyyntösi kahdella tavalla:

  1. API-avain POST-viestin rungossa key-parametrina
  2. API-avain Authorization-otsikossa käyttäen Bearer tokenia

1. API-avain POST-rungossa

Yksinkertaisin tapa tunnistaa on lisätä API-avaimesi kenttänä nimeltä key POST-pyynnön JSON-runkoon.

Esimerkiksi, jos haluat tunnistaa nimen "Alice" sukupuolen:


cURL-esimerkki

curl -X POST "https://api.genderapi.io/api" \
     -H "Content-Type: application/json" \
     -d '{"name": "Alice", "key": "YOUR_API_KEY"}'

JavaScript fetch -esimerkki

fetch("https://api.genderapi.io/api", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    name: "Alice",
    key: "YOUR_API_KEY"
  })
})
.then(response => response.json())
.then(data => console.log(data));

Python requests -esimerkki

import requests

url = "https://api.genderapi.io/api"

payload = {
    "name": "Alice",
    "key": "YOUR_API_KEY"
}

headers = {
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers, json=payload)

print(response.json())

2. API-avain Authorization-otsikossa (Bearer token)

Turvallisuuden ja siistimmän pyynnön vuoksi voit lähettää API-avaimesi Authorization-otsikossa Bearer-skeemalla. Tässä menetelmässä et lisää API-avainta JSON-runkoon.

Vain syöteparametrit (esim. name) lisätään POST-rungossa.

Esimerkiksi, jos haluat tunnistaa nimen "Alice" sukupuolen:


cURL-esimerkki

curl -X POST "https://api.genderapi.io/api" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"name": "Alice"}'

JavaScript fetch -esimerkki

fetch("https://api.genderapi.io/api", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
  body: JSON.stringify({
    name: "Alice"
  })
})
.then(response => response.json())
.then(data => console.log(data));

Python requests -esimerkki

import requests

url = "https://api.genderapi.io/api"

payload = {
    "name": "Alice"
}

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}

response = requests.post(url, headers=headers, json=payload)

print(response.json())

Kumman menetelmän valitsen?

Molemmat tunnistustavat toimivat kaikissa API-päätepisteissä. Authorization-otsikon käyttö on kuitenkin turvallisempaa, koska silloin API-avaimesi ei mene pyynnön runkoon eikä sitä vahingossa kirjata.

Käytitpä kumpaa tahansa tapaa, muista aina asettaa Content-Type-otsikko arvoksi application/json POST-pyynnöissä.