Programlama

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

Yazar: Nibras Code