graywolf's lair

Inhuman being's diary…

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

| 3 Comments

Вчора вночі щось мене пробило і я до 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 🙄

3 Comments

  1. Та там нічого особливого – просто щоб знати, коли виходять нові серії. Єдина відмінність – в моїй версії давався лінк на торрент, але реєструватись все одно ж треба було. Звісно, те саме можна було б зробити через RSS (власне дані-о звідти і брались), але мені подібні короткі повідомлення з Твітера зручніше читати, аніж з рідера.

  2. "Обожнюю python"

    Чооорд: схоже на те, що я таки починаю розуміти що це за штука така – заздрість. =)) Все! До біса с++ – буду починати юзати Пітон для малих програмок! 🙂

Залишити відповідь

Required fields are marked *.