Google E-Tablolar ile IP Adresi Araması Nasıl Yapılır

Google E-Tablolar ve IP2Location hizmeti ile IP adreslerinin ülke, şehir ve İSS adı toplu olarak nasıl belirlenir.

Web siteleri, IP adreslerini kullanarak ziyaretçinin coğrafi konumunu belirleyebilir ve daha alakalı içerik sunabilir. Örneğin, bir hava durumu web sitesi IP adresinizi yaklaşık konumunuzu tahmin etmek ve bulunduğunuz şehir için otomatik olarak hava durumu tahmini sağlamak için kullanabilir. Bir döviz bozdurma web sitesi, IP adresinizden tespit edilen ülkenize bağlı olarak varsayılan para biriminizi belirleyebilir.

Google Sheets - IP 2 Location

Basit bir HTTP isteğiyle istemcinizin IP adresinin bulunduğu ülkeyi ortaya çıkaracak ücretsiz web IP arama hizmetleri, örneğin ip2c.org vardır. Ödeme sayfasında ödeme hizmeti sağlayıcısını belirlemek için bu hizmeti Digital Inspiration’da dahili olarak kullanıyoruz.

Google E-Tablolar ile Toplu IP Araması

IP2Location, herhangi bir IP adresi için daha ayrıntılı coğrafi konum bilgisi alan başka bir iyi alternatiftir. IP konumu arama hizmeti, müşterinin ülkesini, şehir adını, bölgesini, İSS adını ve daha fazlasını alabilir.

Toplu bir IP adresleri listeniz varsa, birkaç kolay adımda adreslerin her birine karşılık gelen coğrafi ayrıntıları tahmin etmek için Google E-Tablolar’ı kullanabilirsiniz:

  1. IP aramalarını toplu olarak gerçekleştirmek üzere Google Sayfasının bir kopyasını oluşturmak için burayı tıklayın.
  2. IP adresleri listesini her satıra bir tane olacak şekilde A sütununa yapıştırın. Arama hizmeti hem IPv4 hem de IPv6 adresleri için çalışır.
  3. Anahtarınızı E1 hücresine girin. Küçük bir IP adresi listeniz varsa, anahtar olarak demoyu kullanın veya ip2location.com‘dan kendi API anahtarınızı alın.
  4. Çalıştır düğmesini tıklayın, komut dosyasını yetkilendirin ve sayfada coğrafi ayrıntılar ve İSS adlarının doldurulmasını izleyin.

IP2Location Komut Dosyası Nasıl Çalışır?

Google E-Tablosu, IP adreslerini coğrafi bölgeye dönüştürmek için dahili olarak IP2location web hizmetini Google Apps Komut Dosyası ile kullanır.

Gelişmiş performans için tek bir grupta birden çok HTTP isteği gerçekleştirmek için UrlFetchApp hizmetini kullanır. İşte tam kaynak kodu:

const ip2location = () => {
  // Get all the input data from Google Sheet
  const ss = SpreadsheetApp.getActiveSheet();
  const data = ss.getDataRange().getDisplayValues();

  // Use your own API key or use demo key
  const apiKey = data[0][4] || "demo";

  // Generate API URL for IP address
  const getUri_ = (ipAddress) => {
    const API_URL = "https://api.ip2location.com/v2";
    return `${API_URL}/?ip=${ipAddress}&key=${apiKey}&package=ws4`;
  };

  const requests = [];

  for (let r = 2; r < data.length; r++) {
    const [ipAddress, countryName] = data[r];
    // Only process rows where the country is blank
    if (ipAddress && !countryName) {
      requests.push({ url: getUri_(ipAddress), rowNumber: r + 1 });
    }
  }

  // Make API calls in bulk using the UrlFetchApp service
  UrlFetchApp.fetchAll(requests).forEach((content, i) => {
    // Parse the JSON response
    const { city_name, country_name, isp, response } = JSON.parse(content);

    // If the response is populated, the API call failed
    if (response) throw new Error(response);

    // Write the response data to Google Sheet
    const values = [[country_name, region_name, city_name, isp]];
    ss.getRange(requests[i].rowNumber, 2, 1, 4).setValues(values);
  });

  // Flush all changes
  SpreadsheetApp.flush();
};

Be the first to comment

Leave a Reply