JavaScript: yapay zeka API'si
Gemini'ye fetch ile soru gönder ve cevabı nesneden oku. Anahtar gizli kalır.
Tüm dersler · JavaScript dersleri: sıfırdan öğren
API ve anahtar
Modeli sıfırdan yazmazsın. API kodunla hazır modeli birleştiren köprüdür. Kod soruyu gönderir, sunucu cevabı döndürür. Başlangıç için Gemini ücretsiz anahtar verir, kart istemez. aistudio.google.com sitesinde Get API key, sonra Create API key. Anahtar şifre gibidir: paylaşma ve açık GitHub'a koyma.
Sorgu bir nesnedir
Soru nesnenin içinde gider. Cevap metni candidates[0].content.parts[0].text adresindedir. candidates dizidir, bu yüzden [0] yazılır. [0] unutulursa sonuç undefined olur.
const sorguMelumati = {
contents: [
{
parts: [{ text: "JavaScript-də dəyişən nədir?" }]
}
]
};fetch ile gönder
POST soruyu gönderir. JSON.stringify nesneyi metne çevirir ki, gitsin. cavab.json() gelen metni yeniden nesne yapar. Anahtarın başında ve sonunda boşluk olmasın. Anahtarı sayfanın içine koyma: gören kişi onu alabilir.
const apiKey = "BURAYA_OZ_API_ACARINIZI_YAZIN";
const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=${apiKey}`;
fetch(url, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(sorguMelumati)
})
.then(cavab => cavab.json())
.then(melumat => {
const aiMetni = melumat.candidates[0].content.parts[0].text;
console.log(aiMetni);
});Sorular
400 veya 403 neden gelir? Anahtar yanlıştır veya etrafında boşluk vardır. Tırnağın içinde yalnız anahtarın kendisi olsun.
body neden gitmez? Nesneyi doğrudan yazmak olmaz. JSON.stringify(sorguMelumati) gerekir.
Cevap neden undefined olur? candidates dizidir. [0] yazılmalıdır. candidates.content yanlıştır.
Metin nereden okunur? melumat.candidates[0].content.parts[0].text