<< StackOverFlow에 자주 문의되는 프로그래밍 언어 | Home | 비즈니스 찾는 방법들 >>

Python을 활용한 goo.gl 숏 URL 생성 샘플

Shorten URLs using goo.gl and Python

goo.gl의 api 를 활용해서 숏 URL을 만들어주는 스크립트를 Python으로 작성했습니다. 앞으로는 이 스크립트로 숏 URL을 만들어서 사용해야겠어요. ㅎㅎ
버전은 Python 3.2에서 돌아가도록 만들었습니다. 항상 3.2, 2점대 두가지 버전으로 테스트 하는 버릇을 들여야 겠네요. ㅎㅎ

1. API 활성화
 - API Console에 가서 URL Shortener API 활성화 시킴
 - Show details 버튼 눌러서 key값을 카피함

2. Python 샘플(3.X용)

#!/usr/bin/env python

import http.client
import json
import sys

api_key = "AIzaSyD?????????nERkZLvr_IYl??51Y"

def short_url(url):
    conn = None
    s_url = ''
    try:
        data = json.dumps({'longUrl' : str(url)}).encode('utf-8')
        content_length = len(data)
        uri = '/urlshortener/v1/url?key=%s' % api_key
        conn = http.client.HTTPSConnection('www.googleapis.com', 443)
        conn.connect()
        conn.putrequest('POST', uri)
        conn.putheader('Content-Type', 'application/json')
        conn.putheader('Content-Length', str(content_length))
        conn.endheaders()
        conn.send(data)
        resp = conn.getresponse().read()
        resp = resp.decode('utf-8')
        s_url = json.loads(resp)['id']
    except Exception as exc:
        print('Error', exc)
    finally:
        if conn is not None:
            conn.close()
    return s_url

if __name__ == '__main__':
    if len(sys.argv) < 2:
        print('%s ' % str(sys.argv[0]))
        sys.exit(1)
    else:
        try:
            url = sys.argv[1]
            print(short_url(url))
        except KeyboardInterrupt:
            print('Error.')
            sys.exit(1)
3. 실행 결과

Tags : ,



Add a comment Send a TrackBack