Alle Anfragen an die Cathopic-API müssen mit Ihrem API-Schlüssel authentifiziert werden. So authentifizieren Sie Ihre API-Aufrufe richtig.
Authentifizierungsmethode
Die Cathopic-API verwendet API-Schlüssel-Authentifizierung über HTTP-Header:
Header-Name:
x-api-keyHeader-Wert: Ihr vollständiger API-Schlüssel
Erforderlich für: Alle API-Endpunkte
Groß-/Kleinschreibung beachten: Header-Namen und Werte müssen exakt übereinstimmen
Beispiel für grundlegende Authentifizierung
cURL:
curl -X POST https://api.cathopic.com/resources \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "Virgin Mary",
"page": 1,
"page_size": 20,
"order": "popular"
}'
JavaScript (fetch):
const response = await fetch('https://api.cathopic.com/resources', {
method: 'POST',
headers: {
'x-api-key': process.env.CATHOPIC_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
query: 'Virgin Mary',
page: 1,
page_size: 20,
order: 'popular'
})
});
const data = await response.json();
console.log(data);
JavaScript (axios):
const axios = require('axios');
const response = await axios.post(
'https://api.cathopic.com/resources',
{
query: 'Virgin Mary',
page: 1,
page_size: 20,
order: 'popular'
},
{
headers: {
'x-api-key': process.env.CATHOPIC_API_KEY
}
}
);
console.log(response.data);
Python (requests):
import os
import requests
api_key = os.environ.get('CATHOPIC_API_KEY')
response = requests.post(
'https://api.cathopic.com/resources',
headers={
'x-api-key': api_key,
'Content-Type': 'application/json'
},
json={
'query': 'Virgin Mary',
'page': 1,
'page_size': 20,
'order': 'popular'
}
)
data = response.json()
print(data)
PHP (cURL):
'Virgin Mary',
'page' => 1,
'page_size' => 20,
'order' => 'popular'
]));
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
print_r($data);
?>
Authentifizierungsfehler
Wenn die Authentifizierung fehlschlägt, erhalten Sie eine Fehlermeldung:
Fehlender API-Schlüssel:
HTTP 401 Unauthorized
{
"message": "Unauthorized"
}
Ungültiger API-Schlüssel:
HTTP 401 Unauthorized
{
"message": "Unauthorized"
}
Inaktiver API-Schlüssel:
HTTP 401 Unauthorized
{
"error": "Unauthorized token"
}
Wichtige Hinweise
Sicherheit:
API-Schlüssel niemals fest eincodieren: Verwenden Sie Umgebungsvariablen oder eine sichere Konfiguration
Nur serverseitig: Fügen Sie API-Schlüssel niemals in clientseitiges JavaScript ein
Nur HTTPS verwenden: API-Schlüssel, die über HTTP übertragen werden, sind anfällig
Regelmäßig rotieren: Ändern Sie Schlüssel in regelmäßigen Abständen zu Sicherheitszwecken
Fehlerbehandlung:
Statuscodes prüfen: Überprüfen Sie stets den HTTP-Antwortstatus
Authentifizierungsfehler protokollieren: Verfolgen Sie fehlgeschlagene Versuche zur Sicherheitsüberwachung
Retry-Logik implementieren: Mit exponentiellem Backoff für vorübergehende Fehler
Vor dem Senden validieren: Stellen Sie sicher, dass der API-Schlüssel korrekt geladen wurde
Authentifizierung testen
Schneller Test, um zu überprüfen, ob Ihr API-Schlüssel funktioniert:
curl -X POST https://api.cathopic.com/resources \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "test", "page": 1, "page_size": 1}'
Erwartete Antwort (Erfolg):
{
"total": 1234,
"page": 1,
"page_size": 1,
"results": [ ... ]
}
Häufige Fehler
Falscher Header-Name: Muss
x-api-keysein, nichtapi-keyoderAuthorizationFalsches Werteformat: Verwenden Sie den vollständigen Schlüssel so wie er ist, ohne "Bearer"-Präfix
Nachgestellte Leerzeichen: Trimmen Sie API-Schlüsselwerte, bevor Sie sie verwenden
Schlüssel nicht geladen: Prüfen Sie, ob die Umgebungsvariable korrekt gesetzt ist
Wenn Sie Probleme mit der Authentifizierung haben, sehen Sie in diesem Abschnitt unter "Häufige Authentifizierungsfehler" nach.