Οδηγός ανάλυσης ονομάτων χρήστη

Ανάγνωση σε Markdown

Πρόβλεψη φύλου από ονόματα χρήστη και ψευδώνυμα

Αναλύστε ονόματα χρήστη και ψευδώνυμα με τη V2: forceToGenderize, AI ανά στοιχείο, άγνωστα αποτελέσματα και κόστος των επαναλαμβανόμενων αιτημάτων.

Επεξεργασία αρχείων χωρίς κώδικα

Αναλύστε τα ψευδώνυμα στο σύνολο δεδομένων σας

Εισαγάγετε ένα αρχείο Excel ή CSV, επιλέξτε τη στήλη των ονομάτων χρήστη και ενεργοποιήστε την ερμηνεία ψευδωνύμων πριν επεξεργαστείτε τις εγγραφές.

  • Αρχεία Excel και CSV
  • Στήλες ονομάτων χρήστη ή εμφανιζόμενων ονομάτων
  • Εμπλουτισμένα αποτελέσματα για εξαγωγή
Άνοιγμα του εργαλείου Excel/CSV
Επιλογές ανάλυσης ονομάτων χρήστη και ψευδωνύμων στη ροή αρχείων του GenderAPI
Ερμηνεία ψευδωνύμων στη ροή αρχείων του GenderAPI.

Ενδεικτικές είσοδοι

Ένα ψευδώνυμο δεν είναι επαλήθευση ταυτότητας

Το @alice_smith μπορεί να αντιστοιχεί σε ονοματικό στοιχείο. Για το prenses με forceToGenderize μπορεί να επιστραφεί πρόβλεψη ακόμη κι αν το όνομα παραμείνει null. Το user47291μπορεί να παραμείνει άγνωστο. Πρόκειται για ενδεικτικές εισόδους και δεν τους αποδίδουμε εκ των προτέρων κανένα αποτέλεσμα φύλου.

Λογική ανάλυσης

Πώς λειτουργεί η πρόβλεψη φύλου από όνομα χρήστη;

Το σύστημα αναζητά αναγνωρίσιμα ονοματικά στοιχεία και άλλες γλωσσικές ενδείξεις στο όνομα χρήστη ή στο εμφανιζόμενο όνομα. Η κανονική εφεδρική χρήση AI αναζητά ένα αξιοποιήσιμο πραγματικό όνομα. Με το forceToGenderize το AI μπορεί να ερμηνεύσει ένα ψευδώνυμο χωρίς πραγματικό όνομα. Το αποτέλεσμα επιστρέφεται μαζί με τα πεδία πλαισίου. Μια τυχαία ή ανεπαρκής είσοδος δεν πρέπει να εξαναγκάζεται σε αποτέλεσμα.

01Όνομα χρήστηΨευδώνυμο ή εμφανιζόμενο όνομα
02Ανάλυση ενδείξεωνΌνομα και πλαίσιο
03ΠρόβλεψηΦύλο και βαθμός βεβαιότητας

Τρόποι χρήσης

Επιλέξτε τη μέθοδο που ταιριάζει στα δεδομένα σας

Επεξεργασία μεγάλων συνόλων δεδομένων χωρίς κώδικα

Αναλύστε τα ονόματα χρήστη ενός αρχείου Excel ή CSV σε τέσσερα βήματα

  1. 01

    Ανοίξτε το εργαλείο Excel/CSV

    Ανοίξτε το εργαλείο εισαγωγής του GenderAPI και ανεβάστε το αρχείο που θέλετε να επεξεργαστείτε.

  2. 02

    Επιλέξτε τη στήλη προέλευσης

    Συνδέστε τη στήλη που περιέχει ονόματα χρήστη, ψευδώνυμα ή εμφανιζόμενα ονόματα.

  3. 03

    Ενεργοποιήστε την ερμηνεία ψευδωνύμων

    Ενεργοποιήστε την επιλογή που ερμηνεύει ψευδώνυμα και ονόματα που χρησιμοποιούνται στα μέσα κοινωνικής δικτύωσης.

  4. 04

    Ελέγξτε ένα δείγμα και έπειτα εξαγάγετε

    Εξετάστε πρώτα ένα αντιπροσωπευτικό δείγμα εγγραφών, έπειτα επεξεργαστείτε ολόκληρο το αρχείο και κατεβάστε τα εμπλουτισμένα δεδομένα.

Οι νέοι λογαριασμοί περιλαμβάνουν 200 δωρεάν πιστώσεις API την ημέρα, ώστε να μπορείτε να δοκιμάσετε τη ροή σε ένα δείγμα πριν επεξεργαστείτε ολόκληρο το αρχείο.

Περιπτώσεις χρήσης

Χρησιμοποιήστε το ως συμπληρωματική ένδειξη όταν λείπει το πραγματικό όνομα

Η ανάλυση ονομάτων χρήστη μπορεί να είναι χρήσιμη για δεδομένα από μέσα κοινωνικής δικτύωσης, κοινότητες, παιχνίδια και προφίλ που δημιουργούν οι ίδιοι οι χρήστες, όταν το πεδίο του ονόματος είναι κενό. Αν διαθέτετε μια πιο άμεση και επιτρεπόμενη πηγή, όπως ένα πραγματικό όνομα ή μια διεύθυνση email, χρησιμοποιήστε το αντίστοιχο endpoint.

Περιορισμοί

Μην αντιμετωπίζετε το αποτέλεσμα ως επαληθευμένη ταυτότητα

Δεν περιέχει κάθε ψευδώνυμο πραγματικό όνομα, οι πολιτισμικοί συσχετισμοί διαφέρουν και η ίδια έκφραση μπορεί να έχει διαφορετική σημασία σε διαφορετικές γλώσσες. Αν η ένδειξη είναι ανεπαρκής, αποδεχτείτε ένα κενό αποτέλεσμα αντί να μετατρέψετε αδύναμα δεδομένα σε οριστικό συμπέρασμα.

Οδηγός υλοποίησης V2

Αποθηκεύστε χωριστά τα αρχικά δεδομένα και την πρόβλεψη

Διατηρήστε το αρχικό αναγνωριστικό της εγγραφής. Το API δεν ανοίγει κανένα προφίλ, δεν επαληθεύει ποιος είναι ο κάτοχος ενός λογαριασμού και δεν επιβεβαιώνει καμία ταυτότητα. Στείλτε πλαίσιο χώρας μόνο όταν διαθέτετε αξιόπιστο στοιχείο. Μην το συμπεραίνετε από το domain ή από τη γλώσσα του ιστότοπου.

Ενδεικτική είσοδοςΠεδίο ή επιλογήΕρμηνεία
@alice_smithdata.name / data.matchΔιατηρήστε το αρχικό όνομα χρήστη. Μην αντιμετωπίζετε το τμήμα που εντοπίστηκε ως επαληθευμένο όνομα.
prensesforceToGenderize: trueΕπιτρέπει την ερμηνεία ενός ψευδωνύμου χωρίς πραγματικό μικρό όνομα. Μπορεί να επιστραφεί φύλο με data.name ίσο με null. Μην επινοείτε όνομα για το άτομο.
user47291data.result_status: unknownΜια αμφίσημη ή ανεπαρκής είσοδος μπορεί να παραμείνει άγνωστη. Αυτό δεν αποτελεί λόγο για αυτόματη επανάληψη του αιτήματος.

Στείλτε το όνομα χρήστη με type: username και όχι το URL ενός προφίλ. Η αναζήτηση στο σύνολο δεδομένων αφαιρεί ένα αρχικό @, κανονικοποιεί το κείμενο και σχηματίζει υποψηφίους με βάση διαχωριστικά και ψηφία. Ένα κανονικό αίτημα μπορεί να προσθέσει περιορισμένο αριθμό αντιστοιχίσεων βάσει προθέματος και επιθέματος. Το forceToGenderize δεν χρησιμοποιεί αυτά τα πρόσθετα τμήματα. Αν ταιριάζουν περισσότερες εγγραφές, επιλέγεται εκείνη με τον μεγαλύτερο αριθμό καταγεγραμμένων εμφανίσεων. Χρησιμοποιήστε type: email για διευθύνσεις email και type: name για πραγματικά ονόματα.

Επιλέξτε τον τρόπο επεξεργασίας και το κόστος σε πιστώσεις

ΕπιλογήΕπεξεργασίαΚόστος ανά επιτυχές στοιχείο
options.ai_mode: offΜόνο το σύνολο δεδομένων1 πίστωση
options.ai_mode: fallbackΠρώτα το σύνολο δεδομένων και, αν δεν προσδιοριστεί φύλο, κανονική εφεδρική χρήση AI1 πίστωση συνολικά, μαζί με το AI
options.ai_mode: alwaysΑπευθείας στο AI2 πιστώσεις
forceToGenderize: trueΠρώτα το σύνολο δεδομένων και έπειτα ερμηνεία του ψευδωνύμου χωρίς να απαιτείται πραγματικό όνομα1 αν αρκεί το σύνολο δεδομένων, 2 συνολικά αν χρησιμοποιηθεί AI

Για ένα μεμονωμένο αίτημα η προεπιλογή είναι fallback, ενώ για τα στοιχεία μιας παρτίδας είναι off. Το forceToGenderize είναι προαιρετικό για ονόματα, διευθύνσεις email και ονόματα χρήστη. Σε αυτή την περίπτωση παραλείψτε το ai_mode ή χρησιμοποιήστε fallback, επειδή η επιλογή δεν συνδυάζεται με τα off και always. Χρεώνονται και τα επιτυχή αποτελέσματα unknown. Για να ξεκινήσει ένα αίτημα αρκεί θετικό αρχικό υπόλοιπο. Μετά την ολοκλήρωση της λειτουργίας το υπόλοιπο μπορεί να γίνει αρνητικό.

Ορίστε δικές τους επιλογές για κάθε στοιχείο μιας παρτίδας

Οι ενδεικτικές είσοδοι δεν εγγυώνται μια συγκεκριμένη πρόβλεψη. Ορίστε το GENDERAPI_API_KEY στο περιβάλλον του διακομιστή και μην τοποθετείτε το κλειδί σε δημόσιο κώδικα στην πλευρά του πελάτη. Οι V1 και V2 χρησιμοποιούν το ίδιο κλειδί λογαριασμού και το ίδιο υπόλοιπο. Επαληθεύστε το κλειδί με το /api/v2/usage και ελέγξτε ότι το meta.access.mode έχει την τιμή api_key.

Επιλέξτε γλώσσα προγραμματισμού. Ρυθμίστε το κλειδί API σας, και έπειτα εκτελέστε το παράδειγμα στον διακομιστή σας.

Κάθε αίτημα πρόβλεψης είναι μια νέα χρεώσιμη λειτουργία, ακόμη και όταν πρόκειται για νέα προσπάθεια. Αυτά τα παραδείγματα δεν επαναλαμβάνουν αυτόματα το αίτημα. Ελέγξτε την κατάσταση χρέωσης πριν στείλετε άλλο αίτημα.

Πριν από την εκτέλεση: πρόσβαση και χειρισμός σφαλμάτων

Εκτελέστε αυτά τα παραδείγματα στον διακομιστή σας. Ορίστε στο περιβάλλον της διεργασίας το GENDERAPI_API_KEY με το υπάρχον κλειδί API σας. Ελέγξτε ότι το meta.access.mode έχει την τιμή api_key, επειδή ένα κλειδί που δεν αναγνωρίζεται μπορεί να οδηγήσει στη δοκιμαστική πρόσβαση IP.

Στις αποκρίσεις JSON με HTTP 4xx και 5xx διατηρείται το σώμα του σφάλματος και το παράδειγμα τερματίζει με μη μηδενικό κωδικό εξόδου. Ελέγξτε τα code, action και meta.usage.billing_status πριν δοκιμάσετε ξανά. Στις αποκρίσεις παρτίδας με HTTP 200 ελέγξτε επίσης το data ή το error κάθε στοιχείου.

Οδηγός για σφάλματα και νέες προσπάθειες →
cURL
curl --silent --show-error --fail-with-body --max-time 30 \
  --request POST 'https://api.genderapi.io/api/v2/gender/batch' \
  --header "Authorization: Bearer ${GENDERAPI_API_KEY:?Set GENDERAPI_API_KEY}" \
  --header 'Content-Type: application/json' \
  --data '{
  "items": [
    {
      "id": "profile-001",
      "type": "username",
      "value": "@alice_smith",
      "options": {
        "ai_mode": "off"
      }
    },
    {
      "id": "profile-002",
      "type": "username",
      "value": "alexriver",
      "options": {
        "ai_mode": "fallback"
      }
    },
    {
      "id": "profile-003",
      "type": "username",
      "value": "prenses",
      "country": "TR",
      "forceToGenderize": true
    }
  ]
}'

cURL 7.76+ σε κέλυφος POSIX. Εκτελέστε το στο τερματικό. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

JavaScript / Node.js
// Server-side Node.js. Save as example.mjs.
const apiKey = process.env.GENDERAPI_API_KEY;
if (!apiKey) throw new Error("Set GENDERAPI_API_KEY");
const body = {
  "items": [
    {
      "id": "profile-001",
      "type": "username",
      "value": "@alice_smith",
      "options": {
        "ai_mode": "off"
      }
    },
    {
      "id": "profile-002",
      "type": "username",
      "value": "alexriver",
      "options": {
        "ai_mode": "fallback"
      }
    },
    {
      "id": "profile-003",
      "type": "username",
      "value": "prenses",
      "country": "TR",
      "forceToGenderize": true
    }
  ]
};

const response = await fetch("https://api.genderapi.io/api/v2/gender/batch", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
  redirect: "error",
});
const raw = await response.text();
if (!(response.headers.get("content-type") ?? "").includes("json")) {
  throw new Error(`HTTP ${response.status}: expected JSON; request ID ${response.headers.get("x-request-id")}`);
}
const result = JSON.parse(raw); // Also accepts application/problem+json.
if (!response.ok) {
  console.error(`HTTP ${response.status}`, result);
  process.exitCode = 1; // A retry is a new operation; inspect billing first.
} else {
  console.log(JSON.stringify(result, null, 2));
  // For batches, inspect every item: HTTP 200 may contain item errors.
}

Node.js 22+ με ενσωματωμένο fetch. Αποθηκεύστε ως example.mjs και εκτελέστε node example.mjs. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

Python
import json
import os
import sys
import urllib.error
import urllib.request

api_key = os.environ.get("GENDERAPI_API_KEY")
if not api_key:
    raise RuntimeError("Set GENDERAPI_API_KEY")
body = json.loads("{\"items\":[{\"id\":\"profile-001\",\"type\":\"username\",\"value\":\"@alice_smith\",\"options\":{\"ai_mode\":\"off\"}},{\"id\":\"profile-002\",\"type\":\"username\",\"value\":\"alexriver\",\"options\":{\"ai_mode\":\"fallback\"}},{\"id\":\"profile-003\",\"type\":\"username\",\"value\":\"prenses\",\"country\":\"TR\",\"forceToGenderize\":true}]}")

class NoRedirect(urllib.request.HTTPRedirectHandler):
    def redirect_request(self, req, fp, code, msg, headers, newurl):
        return None

request = urllib.request.Request(
    "https://api.genderapi.io/api/v2/gender/batch",
    method="POST",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + api_key,
        "Content-Type": "application/json",
    },
)
opener = urllib.request.build_opener(NoRedirect())
try:
    response = opener.open(request, timeout=30)
except urllib.error.HTTPError as error:
    response = error  # Keep the Problem Details body on non-2xx responses.
with response:
    status = response.status
    raw = response.read().decode("utf-8")
    if "json" not in response.headers.get("Content-Type", ""):
        raise RuntimeError(f"HTTP {status}: expected a JSON response")
    result = json.loads(raw)
print(json.dumps(result, indent=2), file=sys.stderr if status >= 300 else sys.stdout)
if not 200 <= status < 300:
    sys.exit(1)  # Inspect code, action and billing before retrying.
# For batches, inspect every item even when HTTP status is 200.

Python 3.10+ με την τυπική βιβλιοθήκη. Αποθηκεύστε ως example.py και εκτελέστε python3 example.py. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

PHP
<?php
$apiKey = getenv('GENDERAPI_API_KEY');
if (!$apiKey) {
    throw new RuntimeException('Set GENDERAPI_API_KEY');
}
$body = json_decode('{"items":[{"id":"profile-001","type":"username","value":"@alice_smith","options":{"ai_mode":"off"}},{"id":"profile-002","type":"username","value":"alexriver","options":{"ai_mode":"fallback"}},{"id":"profile-003","type":"username","value":"prenses","country":"TR","forceToGenderize":true}]}', true, 512, JSON_THROW_ON_ERROR);

$ch = curl_init('https://api.genderapi.io/api/v2/gender/batch');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => false,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($body, JSON_THROW_ON_ERROR),
]);
$raw = curl_exec($ch);
if ($raw === false) {
    throw new RuntimeException(curl_error($ch));
}
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE) ?: '';
curl_close($ch);
if (strpos($contentType, 'json') === false) {
    throw new RuntimeException("HTTP $status: expected a JSON response");
}
$result = json_decode($raw, true, 512, JSON_THROW_ON_ERROR);
$output = json_encode($result, JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR) . PHP_EOL;
if ($status < 200 || $status >= 300) {
    fwrite(STDERR, $output); // Preserve the Problem Details body.
    exit(1);
}
echo $output;
// For batches, inspect every item; HTTP 200 can contain item errors.

PHP 8+ με την επέκταση cURL. Αποθηκεύστε ως example.php και εκτελέστε php example.php. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.time.Duration;

public class GenderApiExample {
    private static String requiredEnv(String name) {
        String value = System.getenv(name);
        if (value == null || value.isBlank()) throw new IllegalStateException("Set " + name);
        return value;
    }

    public static void main(String[] args) throws Exception {
        String apiKey = requiredEnv("GENDERAPI_API_KEY");
        String body = "{\"items\":[{\"id\":\"profile-001\",\"type\":\"username\",\"value\":\"@alice_smith\",\"options\":{\"ai_mode\":\"off\"}},{\"id\":\"profile-002\",\"type\":\"username\",\"value\":\"alexriver\",\"options\":{\"ai_mode\":\"fallback\"}},{\"id\":\"profile-003\",\"type\":\"username\",\"value\":\"prenses\",\"country\":\"TR\",\"forceToGenderize\":true}]}";
        HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(10))
            .followRedirects(HttpClient.Redirect.NEVER)
            .build();
        HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.genderapi.io/api/v2/gender/batch"))
            .timeout(Duration.ofSeconds(30))
            .header("Authorization", "Bearer " + apiKey)
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(body, StandardCharsets.UTF_8))
            .build();
        HttpResponse<String> response = client.send(request,
            HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8));
        if (!response.headers().firstValue("content-type").orElse("").contains("json")) {
            throw new IllegalStateException("HTTP " + response.statusCode() + ": expected JSON");
        }
        // JSON text; parse with your application's JSON library when integrating.
        if (response.statusCode() < 200 || response.statusCode() >= 300) {
            System.err.println(response.body()); // Includes Problem Details.
            System.exit(1);
        }
        System.out.println(response.body());
        // For batches, inspect each item's data or error, including on HTTP 200.
    }
}

Java 17+ με τον τυπικό πελάτη HTTP. Αποθηκεύστε ως GenderApiExample.java και εκτελέστε java GenderApiExample.java. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

C# / .NET
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;

string RequiredEnv(string name) =>
    !string.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable(name))
        ? Environment.GetEnvironmentVariable(name)!
        : throw new InvalidOperationException($"Set {name}");

var apiKey = RequiredEnv("GENDERAPI_API_KEY");
using var handler = new HttpClientHandler { AllowAutoRedirect = false };
using var client = new HttpClient(handler) { Timeout = TimeSpan.FromSeconds(30) };
using var request = new HttpRequestMessage(HttpMethod.Post, "https://api.genderapi.io/api/v2/gender/batch");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
request.Content = new StringContent("{\"items\":[{\"id\":\"profile-001\",\"type\":\"username\",\"value\":\"@alice_smith\",\"options\":{\"ai_mode\":\"off\"}},{\"id\":\"profile-002\",\"type\":\"username\",\"value\":\"alexriver\",\"options\":{\"ai_mode\":\"fallback\"}},{\"id\":\"profile-003\",\"type\":\"username\",\"value\":\"prenses\",\"country\":\"TR\",\"forceToGenderize\":true}]}", Encoding.UTF8, "application/json");

using var response = await client.SendAsync(request);
var raw = await response.Content.ReadAsStringAsync();
if (!(response.Content.Headers.ContentType?.MediaType?.Contains("json") ?? false))
    throw new InvalidOperationException($"HTTP {(int)response.StatusCode}: expected JSON");
using var result = JsonDocument.Parse(raw);
if (!response.IsSuccessStatusCode)
{
    Console.Error.WriteLine(result.RootElement); // Preserve Problem Details.
    Environment.ExitCode = 1;
}
else
{
    Console.WriteLine(result.RootElement);
    // For batches, inspect every item even on HTTP 200.
}

Εφαρμογή κονσόλας .NET 8+. Χρησιμοποιήστε το ως Program.cs σε ένα έργο κονσόλας και έπειτα εκτελέστε dotnet run. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

Go
package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "os"
    "strings"
    "time"
)

func requiredEnv(name string) string {
    value := os.Getenv(name)
    if value == "" { panic("Set " + name) }
    return value
}

func run() error {
    apiKey := requiredEnv("GENDERAPI_API_KEY")
    body := "{\"items\":[{\"id\":\"profile-001\",\"type\":\"username\",\"value\":\"@alice_smith\",\"options\":{\"ai_mode\":\"off\"}},{\"id\":\"profile-002\",\"type\":\"username\",\"value\":\"alexriver\",\"options\":{\"ai_mode\":\"fallback\"}},{\"id\":\"profile-003\",\"type\":\"username\",\"value\":\"prenses\",\"country\":\"TR\",\"forceToGenderize\":true}]}"
    request, err := http.NewRequest("POST", "https://api.genderapi.io/api/v2/gender/batch", strings.NewReader(body))
    if err != nil { return err }
    request.Header.Set("Authorization", "Bearer " + apiKey)
    request.Header.Set("Content-Type", "application/json")
    client := &http.Client{
        Timeout: 30 * time.Second,
        CheckRedirect: func(req *http.Request, via []*http.Request) error {
            return http.ErrUseLastResponse
        },
    }
    response, err := client.Do(request)
    if err != nil { return err }
    defer response.Body.Close()
    raw, err := io.ReadAll(response.Body)
    if err != nil { return err }
    if !strings.Contains(response.Header.Get("Content-Type"), "json") || !json.Valid(raw) {
        return fmt.Errorf("HTTP %d: expected a JSON response", response.StatusCode)
    }
    if response.StatusCode < 200 || response.StatusCode >= 300 {
        return fmt.Errorf("HTTP %d: %s", response.StatusCode, raw)
    }
    fmt.Println(string(raw))
    // For batches, inspect every item even on HTTP 200.
    return nil
}

func main() {
    if err := run(); err != nil {
        fmt.Fprintln(os.Stderr, err) // Keep Problem Details for error handling.
        os.Exit(1)
    }
}

Go 1.22+ με την τυπική βιβλιοθήκη. Αποθηκεύστε ως main.go και εκτελέστε go run main.go. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

Διαχειριστείτε τα αποτελέσματα λιστών και τα επαναλαμβανόμενα αιτήματα

Το POST /api/v2/gender/batch δέχεται έως 50 στοιχεία με κλειδί API και 10 με τη δοκιμαστική πρόσβαση IP. Ορίστε για κάθε στοιχείο δικές του τιμές type, value και options. Αν θέλετε να χρησιμοποιήσετε την κανονική εφεδρική χρήση AI, δηλώστε ρητά fallback σε κάθε στοιχείο. Το id πρέπει να είναι μοναδικό μέσα στην παρτίδα. Το index ξεκινά από το μηδέν μέσα στην παρτίδα που στάλθηκε. Αποθηκεύστε χωριστά τα δικά σας αναγνωριστικά εργασίας και γραμμής προέλευσης.

Το HTTP 200 δεν σημαίνει ότι όλα τα στοιχεία ήταν επιτυχή. Διαχειριστείτε χωριστά τα αποτελέσματα identified, unknown και error. Το meta.summary.succeeded μετρά τόσο τα identified όσο και τα unknown. Αξιολογήστε μαζί τα data.gender, source, confidence_kind, confidence, match και reason. Μην αντιμετωπίζετε ως ισοδύναμα μια βαθμολογία του AI και μια συχνότητα στο σύνολο δεδομένων.

Αν το meta.usage.billing_status έχει την τιμή confirmed, επαναλάβετε μόνο τα λειτουργικά σφάλματα που επιτρέπουν νέο αίτημα. Αν η κατάσταση είναι unconfirmed ή η απόκριση χάθηκε, σταματήστε και ελέγξτε τη χρέωση. Η εκ νέου αποστολή του ίδιου στοιχείου, ακόμη και ενός επιτυχούς αποτελέσματος unknown, δημιουργεί νέα χρεώσιμη λειτουργία. Μην ξαναστέλνετε ποτέ ολόκληρη τη λίστα χωρίς έλεγχο.

Σύμβαση αιτημάτων παρτίδας · Πεδία απόκρισης · Επιλογές AI · Αξιολόγηση ακρίβειας και βαθμού βεβαιότητας · Πολιτική απορρήτου

Τα πρόσθετα για Excel και Google Sheets και οι άλλες έτοιμες ενσωματώσεις μπορεί να χρησιμοποιούν δική τους σύνδεση και δική τους μορφή αποτελεσμάτων. Μην υποθέτετε ότι η έξοδός τους ακολουθεί αυτό το σχήμα JSON της V2. Συμβουλευτείτε τον ενημερωμένο οδηγό της αντίστοιχης ενσωμάτωσης.

Συχνές ερωτήσεις

Το φύλο από ένα όνομα χρήστη ή ένα ψευδώνυμο

Μπορεί να προσδιοριστεί το φύλο από ένα όνομα χρήστη;

Αν ενεργοποιήσετε το forceToGenderize στη V2, ελέγχεται πρώτα το σύνολο δεδομένων. Αν δεν προσδιοριστεί φύλο, το AI μπορεί να ερμηνεύσει το ψευδώνυμο χωρίς να χρειάζεται πραγματικό όνομα. Το αποτέλεσμα μπορεί να παραμείνει unknown και δεν αποτελεί επαληθευμένη ταυτότητα. Η κανονική εφεδρική χρήση AI απαιτεί αντίθετα ένα αξιοποιήσιμο πραγματικό όνομα.

Ποια ονόματα χρήστη δίνουν τα πιο χρήσιμα αποτελέσματα;

Πιο χρήσιμη ένδειξη μπορεί να προκύψει από τιμές που περιέχουν πραγματικό όνομα, αναγνωρίσιμη μορφή ψευδωνύμου ή σαφές ονοματικό στοιχείο. Τυχαίες ακολουθίες χαρακτήρων και ονόματα εμπορικών σημάτων μπορεί να μη δώσουν κανένα αποτέλεσμα.

Μπορώ να αναλύσω ένα μεμονωμένο όνομα χρήστη μέσω API;

Ναι. Το endpoint για μεμονωμένα αιτήματα αναλύει ένα στοιχείο. Για περισσότερα στοιχεία υπάρχει ειδικό endpoint για αιτήματα παρτίδας.

Μπορώ να εισαγάγω αρχείο Excel ή CSV;

Ναι. Στο εργαλείο αρχείων μπορείτε να επιλέξετε τη στήλη με τα ονόματα χρήστη ή τα εμφανιζόμενα ονόματα και να ενεργοποιήσετε την ερμηνεία ψευδωνύμων.

Γιατί πρέπει να αποθηκεύω μαζί τα πεδία βαθμού βεβαιότητας και προέλευσης της V2;

Στη V2 το data.confidence κυμαίνεται από 0 έως 1. Αξιολογήστε την τιμή μαζί με τα source και confidence_kind, επειδή μια βαθμολογία του AI και μια συχνότητα στο σύνολο δεδομένων είναι διαφορετικά μέτρα. Διατηρήστε τα αποτελέσματα unknown και το πεδίο reason.

Είναι το αποτέλεσμα κατάλληλο για τμηματοποίηση;

Μπορεί να χρησιμεύσει ως συμπληρωματική ένδειξη σε συγκεντρωτικές αναλύσεις και στον εμπλουτισμό δεδομένων, αλλά δεν πρέπει να καθορίζει μόνο του ζητήματα με σημαντικές συνέπειες για ένα άτομο ούτε να προσδιορίζει την ταυτότητά του.

Μπορώ να δοκιμάσω την υπηρεσία δωρεάν;

Οι νέοι λογαριασμοί GenderAPI περιλαμβάνουν 200 δωρεάν πιστώσεις API την ημέρα, τις οποίες μπορείτε να χρησιμοποιήσετε για να δοκιμάσετε αντιπροσωπευτικά δείγματα μέσω API ή αρχείου.

Δημοσίευση: 4 Ιουνίου 2025Τελευταίος έλεγχος:

Δοκιμάστε την ενσωμάτωση

Αναλύστε ένα όνομα χρήστη με το κατάλληλο API

Ξεκινήστε με 200 δωρεάν πιστώσεις API την ημέρα και συνδέστε το endpoint που ταιριάζει στη ροή σας.