Google Url Shortener Api

Bildiğiniz gibi Google goo.gl ile bize uzun olan urllerimizi kısaltma hizmeti sağlamakta. Bu hizmeti ben özellikle s3 bucketlarımda bir şeylere hızlı ulaşmak istediğimde kullanıyorum. Şu şekilde olan bir url ”s3-us-west-2.amazonaws.com/elanil/bir+iki+-+Pasajlar.pdf” “goo.gl/ao422” gibi bir şeye dönüşüyor ve giriş yapmak istemediğiniz bilgisayarlara dosya indirmede yardımcı oluyor. Peki nasıl kullanacağız hadi başlayalım.

Öncelikle klasik olarak google’dan api’yi etkinleştirme ve ardından api-key alma aşamaları var bu aşamaları atlıyorum. Ardından aldığımız api keyimiz ile bu işleri nasıl yapacağımızı anlatalım. Öncelikle temel olarak şu url’i kullanacağız. https://www.googleapis.com/urlshortener/v1/url bu temel yapıyı ister post ister get her şekilde kullanabilecegiz. Ben post olarak kullanmayı tercih ettim bu url’e api keyinizi ekledikten sonra longUrl parametresi ile kısaltmak istediğiniz url’i verdikten sonra artık isteğinizi yapabilir hale gelebilirsiniz şu şekilde:

POST https://www.googleapis.com/urlshortener/v1/url?key=your-api-key"
PARAMS: {
longUrl:”https://notlar.herokuapp.com/226"
}

Yanıt olarak ise şu şekilde bir yanıt bize ulaşmakta:

{"code":200,"headers":{"cache-control":"no-cache, no-store, max-age=0, must-revalidate","pragma":"no-cache","expires":"Mon, 01 Jan 1990 00:00:00 GMT","date":"Sat, 03 Mar 2018 13:31:39 GMT","vary":"X-Origin, Origin,Accept-Encoding","content-type":"application/json; charset=UTF-8","x-content-type-options":"nosniff","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","server":"GSE","alt-svc":"hq=\":443\"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; quic=51303335,quic=\":443\"; ma=2592000; v=\"41,39,38,37,35\"","accept-ranges":"none","connection":"close"},"body":"{\n \"kind\": \"urlshortener#url\",\n \"id\": \"https://goo.gl/1lhkpxKZ\",\n \"longUrl\": \"https://notlar.herokuapp.com/226\"\n}\n"}

Bu json’da görüldüğü üzere kısaltılmış versiyona body.id yolu ile ulaşabilmekteyiz.

Peki kısaltılmış urllerin uzun hallerine nasıl ulaşacağız. Belki gitmek istemediğimiz bir sitenin veya bizim ülkemiz tarafından engellenmiş bir sitenin url’i olabilir bunu anlamak için ise longUrl parametresi yerine short url parametresini kullanacağız. Ancak ben post metodu ile bu işlemi gerçekleştiremedim o sebeble geti kullanacağız burada.Url’imizi parametremizi gönderme yöntemimiz değiştiği için değiştiriyoruz ve şöyle yapıyoruz:

https://www.googleapis.com/urlshortener/v1/url?key=your-api-key&shortUrl="goo.gl/1lhkpxKz"

Gelen yanıt ise şu şekilde gelmekte:

Response {
code: 200,
headers:
{ expires: 'Sat, 03 Mar 2018 13:44:36 GMT',
date: 'Sat, 03 Mar 2018 13:39:36 GMT',
etag: '"xmwFVww-URWKBziXomU-E1gyYt8/bE-RGetZWuzmwkXWABrKlIxBcXA"',
vary: 'Origin, X-Origin',
'content-type': 'application/json; charset=UTF-8',
'x-content-type-options': 'nosniff',
'x-frame-options': 'SAMEORIGIN',
'x-xss-protection': '1; mode=block',
'content-length': '129',
server: 'GSE',
age: '0',
'cache-control': 'public, max-age=300, must-revalidate, no-transform',
'alt-svc': 'hq=":443"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; quic=51303335,quic=":443"; ma=2592000; v="41,39,38,37,35"',
connection: 'close' },
body: '{\n "kind": "urlshortener#url",\n "id": "https://goo.gl/1lhkpxKz",\n "longUrl": "https://notlar.herokuapp.com/226",\n "status": "OK"\n}\n' }

bu sefen istediğimiz bilgiye body.longUrl yolu ile ulaşabilmekteyiz.

Bunların dışında parametre olarak analitik araçları ile nasıl kullanılacağının düzenlemesi ve benzeri işler yapılabilir ancak bu şekilde kullanımlar çok tercih edilmiyor web servisler tarafından.

Computer Engineer,Sociologist, CSE Master Student

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store