Google Sheets Altın Fiyatı (Apps Script)
Google Sheets'te altın fiyatı almak için Apps Script ile küçük bir işlev yazmanız yeterlidir; sonra fiyatı =ALTIN("GRAM_ALTIN_TRY") formülüyle istediğiniz hücrede kullanırsınız. Kurulum birkaç dakika sürer.
Neden IMPORTDATA ya da IMPORTXML Değil?
IMPORTDATA yalnız CSV ve TSV dosyalarını, IMPORTXML yalnız HTML ve XML sayfalarını okur. Fiyat API'si JSON döndürdüğü için bu işlevler veriyi doğru ayrıştıramaz; Google Sheets'te JSON okumanın yolu Apps Script'teki UrlFetchApp'tir.
Kurulum
- E-tablonuzda Uzantılar › Apps Script'i açın.
- Düzenleyicideki kodu silip aşağıdaki kodun tamamını yapıştırın ve kaydedin.
- Üstteki işlev listesinden
fiyatTablosunuYaz'ı seçip Çalıştır'a basın. İlk çalıştırmada Google hesabınızla izin vermeniz istenir; izin verdikten sonraFiyatlaradlı sayfada bütün kalemlerin tablosu oluşur.
const API = 'https://hesaplialtin.com/api/v1/public-prices';
const ANAHTAR = 'ANAHTARINIZ'; // ücretsiz anahtar: https://hesaplialtin.com/altin-fiyati-api/anahtar
/** API yanıtını 60 saniye önbellekte tutar. */
function fiyatlariAl_() {
const onbellek = CacheService.getScriptCache();
const kayitli = onbellek.get('fiyatlar');
if (kayitli) return JSON.parse(kayitli);
const yanit = UrlFetchApp.fetch(API, { headers: { 'X-API-Key': ANAHTAR }, muteHttpExceptions: true });
if (yanit.getResponseCode() !== 200) {
throw new Error('Fiyat alınamadı: HTTP ' + yanit.getResponseCode());
}
const metin = yanit.getContentText();
onbellek.put('fiyatlar', metin, 60);
return JSON.parse(metin);
}
/**
* Hesaplı Altın fiyatı. Örnek: =ALTIN("GRAM_ALTIN_TRY"; "satis")
* @param {string} kod Kalem kodu, ör. GRAM_ALTIN_TRY
* @param {string} alan satis, alis ya da degisim24s (boşsa satis)
* @customfunction
*/
function ALTIN(kod, alan) {
const k = fiyatlariAl_().kalemler[kod];
if (!k) throw new Error('Bilinmeyen kod: ' + kod);
return k[alan || 'satis'];
}
/** Bütün kalemleri "Fiyatlar" sayfasına yazar; tetikleyiciyle düzenli çalıştırılır. */
function fiyatTablosunuYaz() {
const veri = fiyatlariAl_();
const satirlar = [['Kod', 'Ad', 'Alış', 'Satış', 'Değişim 24s (%)', 'Güncelleme']];
for (const [kod, k] of Object.entries(veri.kalemler)) {
satirlar.push([kod, k.etiket, k.alis, k.satis, k.degisim24s, k.guncelleme]);
}
const dosya = SpreadsheetApp.getActive();
const sayfa = dosya.getSheetByName('Fiyatlar') || dosya.insertSheet('Fiyatlar');
sayfa.clearContents();
sayfa.getRange(1, 1, satirlar.length, satirlar[0].length).setValues(satirlar);
sayfa.getRange(satirlar.length + 2, 1).setValue('Kaynak: Hesaplı Altın (https://hesaplialtin.com/)');
}
Formülle Kullanma
Kodu kaydettikten sonra herhangi bir hücreye yazabilirsiniz (Türkçe ayarlı tablolarda ayırıcı noktalı virgüldür):
=ALTIN("GRAM_ALTIN_TRY")
=ALTIN("CEYREK_YENI_TRY"; "alis")
=ALTIN("USD_TRY"; "degisim24s")
Özel işlevlerin sonucu Google Sheets tarafından önbellekte tutulur; formül kendiliğinden her dakika yenilenmez. Düzenli güncel fiyat için aşağıdaki tetikleyiciyle Fiyatlar sayfasını yenileyip hücrelerinizde =DÜŞEYARA("GRAM_ALTIN_TRY";Fiyatlar!A:D;4;YANLIŞ) kullanın.
Düzenli Yenileme
- Apps Script düzenleyicisinde soldaki Tetikleyiciler (saat simgesi) › Tetikleyici ekle'ye tıklayın.
- Çalıştırılacak işlev olarak
fiyatTablosunuYaz, etkinlik kaynağı olarak Zamana dayalı, tür olarak Dakika zamanlayıcı ve aralık olarak 5 dakikada bir'i seçip kaydedin.
5 dakikalık tetikleyici günde 288 istek yapar; bu, Google'ın Apps Script için koyduğu günlük istek sınırının ve anahtar başına dakikada 60 isteklik sınırımızın çok altındadır. Excel kullanıyorsanız Excel kılavuzuna bakın.
Kullanım Koşulu
API'yi kullanmak için ücretsiz bir API anahtarı gerekir; anahtar her istekte X-API-Key başlığıyla ya da ?anahtar= parametresiyle gönderilir. 13 Ekim 2026 tarihine kadar anahtarsız istekler de yanıtlanır (yanıtta ek uyari alanı ve Warning başlığı bulunur); bu tarihten sonra anahtarsız istek 401 alır. Sınırlar anahtar başınadır: dakikada 60 istek (anlık fiyat ve geçmiş seri toplamı) ve aynı anda en çok 5 canlı akış bağlantısı; aşılınca 429 döner. Anahtar tek bir site ya da uygulama içindir ve başkasıyla paylaşılmaz; koşullara uyulmadığında ya da kötüye kullanımda anahtar kapatılabilir. Kaynak bağlantısı şart değildir; veriyi gösterdiğiniz sayfada "Kaynak: Hesaplı Altın" bağlantısı (https://hesaplialtin.com/) verirseniz dakika sınırınız iki katına çıkar. Servisi 5 saniyeden sık sorgulamayın; yoğun kullanımda kendi sunucunuzda önbellek tutun. Fiyatlar Kapalıçarşı ve serbest piyasa fiyatlarından hesaplanır, bilgi amaçlıdır ve alım satım teklifi değildir. Veri olduğu gibi sunulur; doğruluk ve kesintisiz erişim garantisi verilmez, servis önceden haber verilmeden değiştirilebilir ya da durdurulabilir ve aşırı kullanımda erişim sınırlanabilir. Kod yazmadan fiyat göstermek isterseniz hazır fiyat kutusunu kullanabilirsiniz.
Diğer Kılavuzlar
Fiyatları nasıl hesaplıyoruz? · Sitene altın fiyatı ekle · Altın hesaplama kutusu · Kapalıçarşı altın fiyatları