メモ形式で失礼します。
Cygwin とは
Cygwin(シグウィン)は、Windowsオペレーティングシステム上で動作するUNIXライクな環境の一つである。 フリーソフトウェアである。(Wikipediaより)
これをWindows PCにインストールしておくと、Mac OSなどに付いている黒い画面で高機能なターミナルに似たものを使えるようになります。今回の目的を達成するために、これに Python をインストールしておきます。
pip をインストールする
以下のコマンドを実行して、Cygwinにpython用のパッケージを管理するためのpipをインストールします。
easy_install pip
1分ほどでインストールが完了します。
requests-oauthlib をインストールする
requests-oauthlib は、Twitter の Oauth認証周りをこなしてくれるとてもありがたいライブラリです。pipを使ってこれをインストールします。以下のコマンドを実行すればOKです。
pip install requests requests_oauthlib
つぶやくための鍵をもらう
プログラムから Twitter につぶやきを投稿するときは、基本4種類のキーが必要です。所有している適当なツイッターアカウントでログインして https://apps.twitter.com/ にアクセスします。ページの指示に従ってアプリ登録をして、Consumer Key、Consumer Secret、Access Token、Accesss Token Secert をそれぞれコピーして控えておきます。(外部に漏らさないように注意して管理します)
Pythonスクリプトを書く
以下の Pythonスクリプトを書いて、例えばpiyo.pyのような名前で保存します。プログラム中の4種類のキーの部分には、先ほど取得した適切な値を与えてください。
# -*- coding: utf-8 -*-
# piyo.py
from requests_oauthlib import OAuth1Session
import sys
ConsumerKey = ''
ConsumerSecret = ''
AccessToken = ''
AccesssTokenSecert = ''
# ツイートを投稿するためのURL
url = "https://api.twitter.com/1.1/statuses/update.json"
# ツイートの本文
argvs = sys.argv
reply = ""
txt = argvs[1]
if len(argvs) == 3:
reply = "@{}".format(argvs[2])
tweet = "{} {}".format(reply, txt)
q = {"status": tweet}
# OAuth認証で POST method で投稿
twitter = OAuth1Session(ConsumerKey,
ConsumerSecret,
AccessToken,
AccesssTokenSecert)
req = twitter.post(url, params = q)
# レスポンスを確認
if req.status_code == 200:
print ("Congratulations!")
つぶやく
リプライを付けないで普通につぶやくためには、
python piyo.py "Hello, world!"
のようにします。リプライを付ける場合は次のようなコマンドになります。
python piyo.py Hey! ユーザー名
「ユーザー名」は半角で書き、「@」を含めないことに注意してください。
実際につぶやいてみたときの写真です。

投稿が完了するまでの時間が結構長いので、残念ながら、日常で使うには少し辛いかもしれません。改良を加えながら用途はこれから考えようと思います。