Tüm Rehber Sayfaları
Kod Örneği
Google Sheets ve Excel'e Canlı Altın Fiyatı Çekme

Google Sheets ve Excel'e Canlı Altın Fiyatı Çekme IMPORTDATA ve Power Query ile Otomatik Güncelleme

Bir tablolama uygulamasında canlı altın ve döviz fiyatı görmek için karmaşık bir yazılım kurmanız gerekmez; Google Sheets'te birkaç satırlık Apps Script, Excel'de ise yerleşik Power Query bu işi halleder. Bu rehberde fiyatları otomatik güncellenen hücrelere nasıl getireceğinizi adım adım gösteriyoruz. Muhasebe takibi, portföy tablosu veya vitrin fiyat listesi hazırlayanlar için pratik bir çözüm sunar.

Kısa cevap: Uzantılar > Apps Script ile kısa bir betik yazıp UrlFetchApp.fetch çağrısına Authorization başlığını ekleyerek https://api.hasfiyat.com/api/prices adresinden fiyatları çekersiniz. Dönen JSON'daki items listesinden gram altın (GRAM) alış ve satış değerlerini hücrelere yazar, betiği zamanlanmış tetikleyiciyle düzenli çalıştırırsınız.

Google Sheets'te Apps Script ile Canlı Fiyat

Google Sheets'in IMPORTDATA fonksiyonu bir URL'den yalnızca CSV veya düz metin çeker ve istek başlığı (header) gönderemez. Hasfiyat API'si ise JSON döndürür ve kimlik doğrulamayı Authorization: Bearer ya da x-api-key başlığıyla yapar; bu yüzden Sheets'te doğru yöntem Apps Script'tir. Uzantılar > Apps Script menüsünden açtığınız düzenleyicide `UrlFetchApp.fetch("https://api.hasfiyat.com/api/prices?source=harem", {headers: {Authorization: "Bearer API_ANAHTARINIZ"}})` çağrısıyla yanıtı alırsınız.

Dönen JSON'u `JSON.parse(yanit.getContentText())` ile çözdükten sonra items listesinde code değeri GRAM olan öğenin buy (alış) ve sell (satış) alanlarını `getRange(...).setValue(...)` ile hücrelere yazarsınız. API anahtarı betiğin içinde kaldığı için URL'de veya hücrede görünmez; tabloyu paylaşsanız bile anahtar açığa çıkmaz.

Birden fazla değeri tek tabloda görmek isterseniz aynı yanıttaki items listesini döngüyle satırlara dökebilirsiniz; çeyrek altın, ons, USD/TRY veya EUR/TRY gibi değerler tek istekte gelir. Betiği Tetikleyiciler bölümünden zamanlanmış bir tetikleyiciye bağlayarak tablonuzun kendiliğinden güncel kalmasını sağlar, kendi canlı fiyat panonuzu birkaç dakikada oluşturursunuz.

Excel'de Power Query ile Canlı Veri

Masaüstü Excel'de en güçlü yol, Veri sekmesindeki Web'den (Power Query) özelliğidir. Buraya API adresini girdiğinizde Power Query yanıtı ayrıştırır ve tabloya dönüştürür. JSON dönen bir uç nokta kullanıyorsanız, sorgu düzenleyicide alanları sütunlara açmak birkaç tıklama sürer; ardından Kapat ve Yükle ile veriyi çalışma sayfasına aktarırsınız.

API anahtarını Power Query içinde başlık olarak eklemek için gelişmiş sorgu düzenleyicide Web.Contents fonksiyonuna Headers seçeneğiyle Authorization değerini geçirebilirsiniz. Bu yöntem, anahtarı URL yerine istek başlığında tuttuğu için tablonuzu paylaşırken daha güvenlidir. Sorguyu bağlantı özelliklerinden belirli dakikalarda veya dosya her açıldığında otomatik yenilenecek şekilde ayarlayabilirsiniz.

Microsoft 365 web sürümünde Power Query yerine, JSON'u işleyen kısa bir Office Scripts betiği de yazabilirsiniz. Betik fetch ile API'ye Authorization başlığıyla bağlanır, dönen fiyatları hücrelere yazar ve zamanlanmış bir akışla düzenli çalıştırılabilir. Bu, daha esnek biçimlendirme ve hesaplama gerektiren tablolar için idealdir.

Doğru Veri ve Otomatik Yenileme İçin Notlar

Tablolama araçları, canlı akış (WebSocket) yerine belirli aralıklarla veri çeker; yani buradaki güncelleme milisaniye değil dakika ölçeğindedir. Vitrin fiyatı, günlük portföy takibi veya rapor gibi senaryolarda bu tazelik fazlasıyla yeterlidir. Saniyelik hassasiyet gerektiren işlem ekranları içinse REST veya WebSocket üzerinden çalışan bir uygulama daha uygundur.

Fiyatların tutarlı olması için tek bir güvenilir kaynağa bağlanmak önemlidir. Hasfiyat API'si arka planda farklı kaynaklardan beslenip otomatik failover ile çalıştığından, bir sağlayıcı yanıt vermese bile tablonuzdaki değerler boş kalmaz. Serbest piyasa alış/satış, ayar bazlı (995, 916, 750, 585) fiyatlar ve pariteler dâhil 67'den fazla sembole aynı hesapla erişirsiniz.

Özetle, ister Google Sheets'te Apps Script ile ister Excel'de Power Query ile olsun, tek bir API anahtarıyla canlı altın ve döviz verisini birkaç dakikada tablonuza taşıyabilirsiniz. Daha ileri otomasyon veya gerçek zamanlı akış gerektiğinde aynı Hasfiyat hesabınızdaki REST ve WebSocket uç noktalarına sorunsuzca geçiş yapabilirsiniz.

Sık sorulan sorular

Google Sheets'e canlı altın fiyatını nasıl çekerim?

Uzantılar > Apps Script ile kısa bir betik yazıp UrlFetchApp.fetch çağrısına Authorization başlığını ekleyerek https://api.hasfiyat.com/api/prices adresinden fiyatları çekersiniz. Dönen JSON'daki items listesinden gram altın (GRAM) alış ve satış değerlerini hücrelere yazar, betiği zamanlanmış tetikleyiciyle düzenli çalıştırırsınız.

IMPORTDATA ile gelen altın verisi neden güncellenmiyor?

IMPORTDATA istek başlığı gönderemediği ve Hasfiyat API'si JSON döndürüp Authorization başlığı istediği için bu fonksiyonla veri güncel alınamaz. Doğru yöntem Apps Script'te UrlFetchApp ile başlıklı istek atmak ve betiği zamanlanmış tetikleyiciye bağlamaktır. Saniyelik canlılık gerekiyorsa Sheets yerine WebSocket destekli bir çözüm daha uygundur.

Google Sheets'te altın fiyatını belirli aralıkla otomatik yenilemek mümkün mü?

Dosya ayarlarındaki hesaplama seçeneğinden yeniden hesaplamayı dakikada bir yapacak şekilde ayarlayabilirsiniz. Daha esnek kontrol için Apps Script ile zamanlanmış tetikleyici yazıp UrlFetchApp üzerinden Authorization header ekleyerek veri çekebilirsiniz. Apps Script yöntemi anahtar gerektiren uç noktalar için daha uygundur.

Apps Script ile Hasfiyat API'sinden Authorization header'lı veri nasıl çekilir?

UrlFetchApp.fetch(url, {headers: {Authorization: "Bearer " + apiKey}}) çağrısıyla anahtarı güvenli biçimde iletebilirsiniz. Dönen JSON'u JSON.parse ile çözüp getRange ile hücrelere yazarsınız. Bu yöntem, URL'ye anahtar koymadan güvenli çekim sağlar.

Google Sheets'te dolar ve euro kurunu tek tabloda nasıl gösteririm?

Tüm fiyatları tek istekte döndüren /api/prices uç noktasından USD ve EUR verisini Apps Script ile çekip ayrı satırlara yerleştirirsiniz. Her para birimi için alış ve satış sütunlarını ayrı tutarak takip edebilirsiniz. Serbest piyasa alış-satış değerleri de aynı şekilde tabloya alınır.

IMPORTDATA fonksiyonu #N/A hatası veriyor, neden?

Hasfiyat API'si JSON döndürür ve Authorization başlığı ister; IMPORTDATA ise yalnızca CSV/düz metin okuyup başlık gönderemediği için #N/A verir. Çözüm, Apps Script'te UrlFetchApp ile Authorization başlıklı istek atıp dönen JSON'u JSON.parse ile çözmektir. İstek adresinin https://api.hasfiyat.com/api/prices olduğunu da kontrol edin.

Google Sheets'e çekilen altın fiyatıyla portföy değeri hesaplayabilir miyim?

Evet, çekilen gram altın alış değerini elinizdeki gram miktarıyla çarpan basit bir formülle portföy değerini hesaplayabilirsiniz. Fiyat hücresi güncellendikçe toplam otomatik yenilenir. Farklı sarrafiye ürünleri için ayrı sembolleri ayrı hücrelere çekmeniz yeterlidir.

Excel'e canlı altın ve döviz fiyatını nasıl aktarırım?

Veri sekmesindeki Web'den (Power Query) özelliğiyle uç noktaya bağlanıp Authorization header'ı sorgu ayarlarından ekleyerek fiyatları tabloya alırsınız. Power Query dönen JSON'u sütunlara ayırmanıza olanak tanır. Yenile butonuyla ya da zamanlanmış yenilemeyle veriyi güncel tutarsınız.

Excel Power Query'de API anahtarını nasıl eklerim?

Power Query'de kaynak adımını düzenleyip Web.Contents fonksiyonuna Headers seçeneğiyle [Authorization="Bearer " & apiKey] ekleyerek anahtarı iletirsiniz. Anahtarı sorguya gömmek yerine parametre olarak tanımlamanız güvenlik açısından daha iyidir. Böylece 401 almadan yetkili istek atarsınız.

Excel'de altın fiyat tablosunu belirli aralıklarla otomatik yenileyebilir miyim?

Sorgu özelliklerinden Her N dakikada bir yenile seçeneğini işaretleyerek Power Query'yi otomatik güncellemeye ayarlarsınız. Dosya açıldığında da yenilenmesini sağlayabilirsiniz. Saniyelik canlılık gerekiyorsa Excel yerine WebSocket destekli bir uygulama daha uygundur.

Excel'de dönen JSON altın verisini sütunlara nasıl ayırırım?

Power Query'de JSON içeriğini Kayıt/Liste olarak açıp Sütunlara Genişlet adımıyla sembol, alış ve satış alanlarını ayrı sütunlara dönüştürürsünüz. Sonra veriyi bir tabloya yükleyerek grafik ve hesaplama yaparsınız. Dönüşüm adımları her yenilemede otomatik tekrar uygulanır.

Excel'de VBA makrosuyla altın fiyatı çekebilir miyim?

Evet, VBA'da MSXML2.XMLHTTP nesnesiyle GET isteği açıp setRequestHeader ile Authorization anahtarını ekleyerek veri çekebilirsiniz. Dönen JSON metnini ayrıştırıp hücrelere yazarsınız. Power Query kod yazmadan daha kolay bir alternatiftir.

Excel'e çektiğim döviz kuru neden bazen boş geliyor?

Boş sonuç genelde anahtarın eksik gönderilmesinden, uç nokta yanıtının beklenenden farklı olmasından ya da geçici ağ hatasından kaynaklanır. Power Query hata adımlarını inceleyip Authorization header'ını doğrulayın. Çoklu-kaynak failover sayesinde API çoğunlukla veri döndürür, sorun genelde istek tarafındadır.

Canlı altın & döviz verisine hemen bağlanın

Dakikalar içinde REST veya Socket.IO ile gerçek zamanlı fiyat akışına başlayın.