#1. はじめに
普段からtwitterを使うため、プログラムを用いて投稿やタイムラインの取得を行いたいのでそれを行うための
備忘録としてここに残します。
ここでは以下の内容を記載します。
イ. twitterにアクセスするためのAPI keyの取得
ロ. 実際にtwitterへの投稿
#2. twitterにアクセスするためのAPI keyの取得
twitterはAPIを公開しているので、それを用いてアクセスします。
以下のサイトを参考にAPI keyを取得します。
Twitter API キーの取得手順 : まだプログラマーですが何か?
ここでほしいのはConsumer Key, Consumer Secret, Access Token, Access Token Secretの4つです。
#3. 実際にtwitterへの投稿
ここからは実際にpythonを用いてプログラムからツイートを投稿します。
以下の環境で行います。
- windows 10
- python 3.5.2 (Anaconda 4.2.0 64bit)
また以下のライブラリが必要です
- requests_oauthlib
- json
- urllib
まずはライブラリのインポートを行います。
from requests_oauthlib import OAuth1Session
import json
from urllib import request
続いて先ほど取得したAPI keyを用いるために変数に代入、API keyを用いてOauthセッションを作成します。
keys = {
"CK":'Consumer Key',
"CS":'Consumer Secret',
"AT":'Access Token',
"AS":'Access Token Secret',
}
sess = OAuth1Session(keys["CK"], keys["CS"], keys["AT"], keys["AS"])
このセッションを用いて決まったURLにアクセスしgetメソッド、
postメソッドを用いることでツイートやタイムラインの取得ができます。
この決まったURLを変えることにより様々なAPIをたたけます。
詳しい説明はTwitter Developer Documentationにあります。
実際にツイートする処理は以下のようになります。
url = "https://api.twitter.com/1.1/statuses/update.json"
params = {"status":"Hello World!"}
#Hello World!の部分が実際にツイートされる
req = sess.post(url, params = params)
if req.status_code == 200:
print ("OK")
else:
print ("Error")
これでHello World!とツイートされます。
次はタイムラインの取得を書きます。