17 Aralık 2015 Perşembe

Google URL Shortener Kullanımı


URL kısaltma son zamanlarda biraz sık kullanılan bir özellik olmaya başladı.Biz de yurt dışında hizmet verdiğimiz bir firmada böyle bir implementasyon yapmaya karar verdik.Öncelikle bit.ly apileri kullanmaya başladık.Ama bu tarafta bazı sorunlar çıktı, çünkü bit.ly bizim kayıt ettiğimiz url leri kayıt etmeden önce bir request gönderiyor ve 1 kez kullanıyor.

İşte tamda burda bir sorun ortaya çıktı, biz url bilgilerini aktivasyon linkleride kullanıyoruz ve bit.ly bu url lere request attığında aktivasyonu kendisi yapıyor ve sorunumuzu çözmüyordu.
Sonrasında google url shortener ile ilgili birkaç test yaptıktan sonra çok temiz güzel çalışan bir apisi olduğunu gördüm ve implemente etmeye karar verdim.


Nasıl başlarız.

 - Öncelikle sistemin çalışması hakkında detaylı bilgi edinmek için https://developers.google.com/url-shortener/linkini ziyaret edebilirsiniz.

 - Ardından google developer hesabı oluşturup api credential üretmeniz gerekiyor.

 - Api kodumuzu temin ettikten sonra , küçük bir kaç request ile url shortener ı kullanabiliyoruz.

Aşağıdaki gibi bir metod ile url shortener apiyi rahatca kullanabiliyoruz.



        public string URLShortenerRequest(string URLtoShorten)
        {
            string shortUrl = string.Empty;

            string apiKey = "googledan alınan api key buraya gelecek";
            string urlAuth = "https://www.googleapis.com/urlshortener/v1/url?key=" + apiKey;
            var httpWebRequest = (HttpWebRequest)WebRequest.Create(urlAuth);
            httpWebRequest.ContentType = "application/json";
            httpWebRequest.Method = "POST";

            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
            {
                string json = "{\"longUrl\":\"" + URLtoShorten + "\"}";
                streamWriter.Write(json);
            }//End Using

            var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                shortUrl = JsonConvert.DeserializeObject<dynamic>(streamReader.ReadToEnd()).id;
            }//End Using

            return shortUrl;
         }
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.