Приклад використання Twitter REST API

Приклад використання Twitter REST API

Вчора вночі щось мене пробило і я до 2-ї ночі сидів писав одну штуку собі в допомогу, а сьогодні вранці, коли хотів вже залити виявилось, що це вже зробили до мене, причому найцікавіше, що виглядає все один в один як те, що зробив мну. Не розумію, правда, як я не знайшов його вчора – мабуть вже заспаний був, але суть не втому. Щоб робота марно не пропадала поділюся парою коротких сніпетів на пітоні.

Перший – для скорочення URL за допомогою сервісу bit.ly (перед використанням там треба зареєструватись, щоб отримати API key):

import urllib, urllib2
import json # є лише Python 2.6 і старше

bitly_login = "your bitly login"
bitly_apikey = "your API key"

def ShortenURL(url):
  try:
    request = urllib2.urlopen("http://api.bit.ly/shorten?version=2.0.1&longUrl=%s&login=%s&apiKey=%s"
      % (url, bitly_login, bitly_apikey))
    result = json.loads(request.read())
    return result["results"][url]["shortUrl"]
  except:
    return None

Другий – для публікації повідомлення в Twitter (тут використовується несек’юрна Basic HTTP Authorization, бо з oAuth це було б набагато складніше, а мені вночі було ліньки возитись).

import urllib, urllib2
import base64

login = "your twitter login"
passwd = "your twitter password"
secret = base64.encodestring("%s:%s" % (login, passwd))[:-1]

def Post(message):
  request = urllib2.Request("http://twitter.com/statuses/update.xml",
    urllib.urlencode({"status": message}),
    {"Authorization": "Basic " + secret})
  try:
    urllib2.urlopen(request)
    return message # returning message if it was successfully sent
  except:
    return None

Обожнюю python 🙄

Sergii Gulenok

Sergii Gulenok

View Comments