2017年3月29日水曜日

Python から tweet する

Twitter は投稿や検索用の API を公表している。当然、Python から該当の API を利用することができる。

Python に限らず、Twitter の API を利用する際は、アプリケーションの登録が必要になる。
登録方法については、このページに記載がある。
以下、アプリケーションの登録が終了し、4つのKey(Consumer Key, Consumer Secret, Access Token, Access Token Secret)が入手できていることを前提とする。

まず、Twitter にアクセスするため requests-oauthlib をインストールする。
pip3 install requests_oauthlib
requests_oauthlib.OAuth1Session を利用して、Twitter との間にセッションを構築する。なお、requests_oauthlib.OAuth1Session の引数には、アプリケーションの登録により取得した 4つの Key を与える。
from requests_oauthlib import OAuth1Session


ConsumerKey = "....."
ConsumerSecret = "....."
AccessToken = "....."
AccessTokenSecret = "....."

session = OAuth1Session(ConsumerKey,
                        ConsumerSecret,
                        AccessToken,
                        AccessTokenSecret)
OAuth1Session.postに指定のURL(https://api.twitter.com/1.1/statuses/update.json)および以下のような辞書形式のメッセージを引数に与えればよい。なお、post メソッドは戻り値 200 のみが正常終了となる。
url = "https://api.twitter.com/1.1/statuses/update.json"
parm = {"status": "sample text. 日本語も大丈夫。"}
if session.post(url, params=parm) == 200:
    print("正常終了")
else:
    print("異常終了")

0 件のコメント:

コメントを投稿