Gyakori hitelesítési hibák

Utolsó frissítés: 3 hónappal ezelőtt

Ha gondot okoz a Cathopic API-val történő hitelesítés, az alábbiak a leggyakoribb hibák, és a megoldásuk.

401 Unauthorized

A leggyakoribb hitelesítési hiba:

HTTP 401 Unauthorized
{
  "message": "Unauthorized"
}

Gyakori okok:

  • Hiányzik az x-api-key fejléc

  • Érvénytelen vagy lejárt API-kulcs

  • Elírás az API-kulcsban

  • Szóköz a kulcs előtt/után

  • A kulcs nincs betöltve környezeti változóból

Hogyan javítsd:

  1. Ellenőrizd, hogy a fejléc neve pontosan x-api-key (kisbetű/nagybetű érzékeny)

  2. Másold ki újra az API-kulcsodat innen: Beállítások → API

  3. Ellenőrizd, hogy a környezeti változók betöltődnek: console.log(process.env.CATHOPIC_API_KEY)

  4. Vágd le a felesleges szóközöket: apiKey.trim()

  5. Ellenőrizd, hogy a kulcs aktív (nincs törölve vagy letiltva)

Helytelen fejlécnév

Az API a x-api-key-t igényli, nem más gyakori fejlécneveket:

// ❌ HELYTELEN
Authorization: Bearer sk_live_abc...
API-Key: sk_live_abc...
apikey: sk_live_abc...
// ✅ HELYES
x-api-key: sk_live_abc...

Unauthorized token hiba

HTTP 401 Unauthorized
{
  "error": "Unauthorized token"
}

Ok: Az API-kulcsot letiltották vagy törölték.

Hogyan javítsd:

  • Ellenőrizd, hogy a kulcs még mindig aktív-e itt: Beállítások → API

  • Ha letiltották, aktiváld újra a kulcsot

  • Új kulcsot generálj, ha a régi törölve lett

Nem betöltött környezeti változó

A kódod nem találja az API-kulcsot:

// undefined értéket ad vissza
const apiKey = process.env.CATHOPIC_API_KEY;
console.log(apiKey); // undefined

Hogyan javítsd:

Node.js:

// Győződj meg róla, hogy a .env be van töltve
require('dotenv').config();
const apiKey = process.env.CATHOPIC_API_KEY;
if (!apiKey) {
  throw new Error('CATHOPIC_API_KEY not set');
}

Python:

import os
from dotenv import load_dotenv
load_dotenv()
api_key = os.environ.get('CATHOPIC_API_KEY')
if not api_key:
    raise ValueError('CATHOPIC_API_KEY not set')

Ügyféloldali (client-side) kitettségi hiba

Próbálod az API-kulcsot böngészőben futó JavaScriptben használni:

// ❌ Ez hibázni fog (a kulcsok nem működnek böngészőkben)
fetch('https://api.cathopic.com/resources', {
  headers: { 'x-api-key': 'sk_live_abc...' }
});

Hogyan javítsd: Hozz létre egy szerveroldali végpontot, amely proxyzza a kéréseket a Cathopic API felé. Lásd a "Hogyan biztosíthatom a hitelesítő adataimat?" részt példákért.

CORS hibák

Ha CORS hibákat látsz a böngésző konzoljában:

Az Access to fetch blokkolva lett a CORS házirend miatt...

Ok: Azt próbálod közvetlenül, ügyféloldali JavaScriptből meghívni, nem pedig szerverről.

Hogyan javítsd: A Cathopic API csak szerveroldali. A kéréseket a saját backendeden keresztül kell proxyznod.

Hitelesítés tesztelése

Gyors teszt a beállítás ellenőrzéséhez:

curl -v -X POST https://api.cathopic.com/resources \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"test","page":1,"page_size":1}'
# Nézd az HTTP 200 válasz státuszt
# Ha 401, ellenőrizd alaposan a kulcsot

Hibaelhárítási ellenőrzőlista

Ha a hitelesítés továbbra is sikertelen:

  • ☐ A fejléc neve x-api-key (kis- és nagybetű érzékeny)

  • ☐ Az API-kulcs a teljes kulcs ( sk_live_-val vagy hasonlóval kezdődik)

  • ☐ Nincs Bearer előtag, és nincs idézőjel a kulcs körül

  • ☐ A környezeti változó be van állítva és be van töltve

  • ☐ A kérés szerveroldalról megy, nem böngészőből

  • ☐ A kulcs aktív itt: Beállítások → API

  • ☐ A fizetési mód hozzá van adva és érvényes

Ha a problémák továbbra is fennállnak, vedd fel a kapcsolatot a fejlesztői támogatással a következőkkel:

  • A hibaüzenet

  • Az API-kulcsod utolsó 4 számjegye

  • Programozási nyelv és keretrendszer

  • Példa kód (a teljes kulcs felfedése nélkül)

Hasznos volt ez a cikk?