Google Sheets'te javascript kullanarak yapmak mümkün. Ben bu şekilde verileri çekiyorum.
function getFundValue(fundName) {
var date = new Date();
var url = "https://ws.spk.gov.tr/PortfolioValues/api/PortfoyDegerleri/";
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var fullDate= year + "-" + month + "-" + day
var res = UrlFetchApp.fetch(url + fundName + "/1/" + fullDate+"/" + fullDate);
var content = res.getContentText();
var json = JSON.parse(content);
var value = json[0].BirimPayDegeri;
return value;
}
Çok teşekkürler üstad, fonksiyonu denedim şimdi. TCD için 1,384534 değerini verdi. Herhalde TCD dışındaki fonlar için işimize yarar ama TCD"yi ne yaparız bilemedim.
Peki "https://ws.spk.gov.tr/PortfolioValues/api/PortfoyDegerleri/" adresini nereden buldunuz ? SPK sitesinde buna ilişkin bilgi var mı ?
Tabii hocam, mesela cell içinde "=getFundValue("FIL") olarak çağırırsanız fonksiyonu o günün FIL değerini verir.
SPK sitesinde REST API dokümantasyonu bulunuyor.
https://ws.spk.gov.tr/Help
Ben de o fiyat çıkıyor. Kodu dün gece yazdıydım. Bakayım bir hata mı olmuş.
*** YKB de aynı fiyatı veriyor. Sanırım gün içinde bir kere güncelleniyor API değerleri. Gün ortası güncellemesi geçmemiş sisteme ***
TEFAS'taki güncel değeri DOM parse ederek görmek de mümkün. Ama karışık.
Cell'in fonksiyon alanına aşağıdaki satırı yazarak TEFAS'taki değeri çekebilirsiniz:
=QUERY(SPLIT(QUERY(IMPORTHTML("https://www.tefas.gov.tr/FonAnaliz.aspx?FonKod=TCD"; "list"; 4); "SELECT * LIMIT 1 OFFSET 0");"(TL)");"SELECT Col2")
Paylaşımlarım asla yatırım tavsiyesi değildir. Kendi aklınıza ve tecrübelerinize göre yatırımlarınıza yön veriniz.
Yer İmleri