Google Sheets TEFAS Request Rejected hatası görselleştirmesi - eminarslantas.com

TEFAS “Request Rejected” Hatası: Google E-Tablolar’da Fon Verileri Neden Gelmiyor?

TEFAS verilerini Google Sheets'e çekerken Request Rejected hatası mı alıyorsunuz? Sorunun nedenlerini ve çözüm için yapılan çalışmaları blog yazımızda inceleyin.

Yatırım fonlarını Google E-Tablolar (Google Sheets) üzerinden takip eden pek çok kullanıcı, son günlerde can sıkıcı bir sorunla karşı karşıya: Request Rejected.

Daha düne kadar tıkır tıkır çalışan IMPORTXML, IMPORTHTML veya UrlFetchApp tabanlı scriptleriniz artık veri çekemiyor, portföy tablolarınızda sadece hata mesajları görünüyor olabilir. Peki, TEFAS gibi devasa bir veri tabanı neden bir anda kapılarını Google üzerinden gelen sorgulara kapattı?

Sorunun Temel Sebepleri: Neden Engelleniyoruz?

Bu hatanın arkasında teknik bir “rejection” (reddedilme) mekanizması yatıyor. İşte en muhtemel sebepler:

1. Google IP’lerinin “Kara Liste”ye Düşmesi

Google Sheets üzerinden veri çektiğinizde, bu istek sizin bilgisayarınızdan değil, Google’ın devasa veri merkezlerinden (Data Center) çıkar. Binlerce yatırımcı aynı anda Google Sheets üzerinden TEFAS’a yüklendiğinde, TEFAS’ın güvenlik duvarı (WAF) bu yoğun trafiği bir “bot saldırısı” (DDoS) olarak algılar. Sonuç olarak, Google’ın bu işlemleri gerçekleştiren IP blokları geçici veya kalıcı olarak engellenir.

Borsada Doğru Yatırım - Dr. Serkan Ünal
Borsada Doğru Yatırım - Dr. Serkan Ünal

Hisse Senedi Yatırımcısının El Kitabı

Borsa İstanbul'da dedikoduyla değil, analitik düşünce ve değer yatırımcılığı disipliniyle hareket etmek isteyenler için temel bir rehber. Sürdürülebilir kazanç için strateji kurmayı öğrenin.

2. Güvenlik Duvarı (WAF) Kuralları

Finansal veri servis eden kamu kurumları, sistem stabilitesini korumak için katı güvenlik protokolleri uygular. “User-Agent” bilgisi içermeyen veya bir tarayıcı taklidi yapmayan otomatik sorgular, sistem tarafından “şüpheli” olarak işaretlenir.

3. Aşırı Sorgu Yükü

Fon fiyatlarını her dakika güncellenmeye çalışılması, hem Google tarafında kota aşımına hem de hedef sunucuda gereksiz bir yüke sebep olur. Sistemler bu yükü dengelemek adına otomatik olarak erişimi kısıtlar.

Bu Sorun Yatırımcı İçin Ne Anlama Geliyor?

Eğer portföy takibinizi tamamen bu otomatik sistemlere bağladıysanız, bu tür teknik kesintiler “verisiz kalmanıza” ve dolayısıyla finansal kararlarınızda karanlıkta kalmanıza neden olur. Bu durum, veri erişiminde “Tek Noktadan Hata” (Single Point of Failure) riskini bir kez daha hatırlatıyor.

Çözüm İçin Ne Yapıyorum?

Ben de bir yatırımcı ve bilişim profesyoneli olarak, portföy takip sistemlerimde aynı engelle karşılaştım. Bu sorunun, üçüncü taraf platformların (Google gibi) insafına kalmadan, daha sürdürülebilir ve kesintisiz bir yöntemle çözülmesi gerektiğine inanıyorum.

Bu sebeple Emin API adında TEFAS ile Google E-Tablolar arasında köprü görevi üstlenecek bir yazılım mimarisi tasarladım.

TEFAS Fon Veri Çekme Hatası Çözümü

function EMIN_API_TEFAS_FON_FIYATI(ticker = ‘AES’) { var cache = CacheService.getUserCache(); var cacheKey = “emin_tefas_prices_” + ticker; var cachedData = cache.get(cacheKey); if (cachedData != null) { return JSON.parse(cachedData); } var apiKey = “YOUR_API_KEY”; var apiUrl = “https://api.eminarslantas.com/tefas/fon/” + ticker + “?api_key=” + apiKey; var response = UrlFetchApp.fetch(apiUrl, {“muteHttpExceptions”: true}); var json = JSON.parse(response.getContentText()); if (json.status === “success” && json.last_price) { cache.put(cacheKey, JSON.stringify(json.last_price), 21600); return json.last_price; } return “Hata: Veri yok”; }
Kodu görmek için ücretsiz kayıt olun

📬 Koda ücretsiz eriş

Adınızı ve e-posta adresinizi girin — size özel API anahtarıyla hazır kodu anında görün.

API anahtarınız koda eklendi.
Google Apps Script
/**
 * Emin API üzerinden fon fiyatı çeker.
 * @param {string} ticker Fon kodu (Örn: AFT, TP2, GTZ)
 * @return Fonun en güncel fiyatı
 * @customfunction
 */
function EMIN_API_TEFAS_FON_FIYATI(ticker = 'AES') {
  if (!ticker) return "Fon kodu eksik";
  var cache = CacheService.getUserCache();
  var cacheKey = "emin_tefas_prices_" + ticker.toUpperCase();
  var cachedData = cache.get(cacheKey);

  if (cachedData != null) {
    Logger.log("cached price: " + cachedData);
    if(JSON.parse(cachedData)) {
      return JSON.parse(cachedData);
    }
  }

  var apiKey = "ABONE_API_ANAHTARI";
  var apiUrl = "https://api.eminarslantas.com/tefas/fon/"
    + ticker + "?api_key=" + apiKey;

  try {
    var response = UrlFetchApp.fetch(apiUrl, { "muteHttpExceptions": true });
    var json = JSON.parse(response.getContentText());

    if(json.status === "error" && json.message) {
      return json.message;
    }

    if (json.status === "success" && json.last_price) {
      var price = json.last_price;
      cache.put(cacheKey, JSON.stringify(price), 21600);
      return price;
    } else {
      return "Hata: Veri yok";
    }
  } catch (e) {
    return "Bağlantı Hatası";
  }
}

Bu kod size özel API anahtarı içermektedir. Lütfen başkalarıyla paylaşmayın.

Yukarıdaki forma e-posta adresiniz ve adınızla kayıt yaptığınızda, Emin API üzerinden sadece size atanmış bir anahtar ile üretilmiş koda sahip olacaksınız.

Sonrasında bu kodu, Google E-Tablolar’da portföy takip tablonuzu açıp Uzantılar > Apps Komut Dosyası‘na kaydettiğinizde artık elinizde TEFAS fon fiyatı çekme konusunda donanımlı yepyeni bir formül olmuş oluyor.

Emin API ile TEFAS Fon Fiyatı Çekmek

Fonksiyonu Apps Komut Dosyanıza ekledikten sonra, ilgili e-tabloda kullanabileceğiniz yepyeni bir formüle sahip oldunuz.

=EMIN_API_TEFAS_FON_FIYATI(FON_KODU)

FON_KODU yerine fon kodunun bulunduğu hücreyi (örneğin A3) ya da doğrudan fonun üç karakterlik kodunu (örn. “AFT”) kullanarak TEFAS fon fiyatını kolayca çekebilirsiniz.

Sonuç ve Notlar

TEFAS verilerine erişimde yaşanan bu kısıtlamalar, aslında dijital dünyada sıkça karşılaştığımız bir gerçeği tekrar hatırlatıyor: Hazır platformlara ve standart araçlara olan aşırı bağımlılık, sisteminizi her zaman kırılgan kılar. Google Sheets üzerindeki bu kırmızı hata mesajı, sadece teknik bir aksaklık değil; aynı zamanda veri bağımsızlığınızı ilan etmeniz için bir çağrıdır.

Yatırım yolculuğunda “itibar” ve “istikrar” kısa vadeli kazançlardan daha kritiktir. Kendi veri köprümüzü kurmak, sadece bugünkü hatayı çözmekle kalmayacak, aynı zamanda yarın karşımıza çıkabilecek benzeri blokajlara karşı bizi bağışık hale getirecektir. Unutmayın; kaosun olduğu yerde düzeni kuran, her zaman bir adım öndedir.

Siz de portföy takibinizi manuel yüklerden ve platform bağımlılıklarından kurtarmak, verinin kontrolünü tamamen elinize almak istiyorsanız bu süreçte attığım adımları takipte kalın. Bir sonraki aşamada, bu sorunu kökten çözen mimariyi birlikte şekillendireceğiz.

🎯Hisse Seçme Yeteneğini Geliştir

Mali tablo analizi ve değerleme tekniklerini öğren. Baştan sona 6 makale.


Emin Arslantaş sitesinden daha fazla şey keşfedin

Subscribe to get the latest posts sent to your email.

Emin Arslantaş
Emin Arslantaş

Finansa ve sayılara ilgisi mesleğe, finansal okuryazarlığı yayma tutkusu bu bloga dönüştü. Vergi, yatırım ve Excel konularındaki birikimini anlaşılır ve güvenilir içeriklerle paylaşmayı seviyor.