Pythonによる自動Tweet(その2) 完
どうも、けい(@kei_kei_se)です。
お久しぶりです。
私事ではございますが、社畜しすぎてついに社畜の呼吸の使い手になってしまいました。これからは社畜柱目指して日々仕事も自己啓発も頑張っていきたいと思いますのでどうぞ生温かい目で見守ってやってください。さてさて、今回はだいぶ日が空いてしまいましたが前回の続きで"Pythonによる自動Tweet(その2)"でございます。前回はTwitterをdeveloper登録するところまでで力尽きました(笑 この記事から見てくださっている方がもしいらっしゃったらぜひ前回の記事から読んでいただければと思います!
keikeise.hatenablog.com
■目次
認証情報の取得
まずは以下のサイトからDeveloper Portalにログインします。
https://developer.twitter.com/en/apps/
サイドバーの[Project & Apps] -> [Over View] と進み、画面中央の [Standalone Apps]の[+ Create App]をクリックしてください。するとApp nameを聞かれるので適当に設定しましょう。私は"auto_tweet_kei_kei_se"としました。
作成したAppの[Keys and Token]からAPI Key & SecretとAccess Token & Secretの4つをメモし以下のように1つの.pyファイルを作成します。
私はconfig.pyとして作成しました。環境はAnacondaでspyderを使用しています。
CONSUMER_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx' CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx' ACCESS_TOKEN_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx' ACCESS_TOKEN_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
メインプログラム作成
次に自動Tweetするメインプログラムを作成します。
プログラム実行時に自動で呟くことができればOKです。
from config import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET # config..pyから認証情報読み込み from requests_oauthlib import OAuth1Session # 外部サイトアクセスのためのライブラリ from http import HTTPStatus # エラー処理のためのライブラリ def auto_tweet(body): # 認証処理 twitter = OAuth1Session( CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET ) # ツイート処理 res = twitter.post("https://api.twitter.com/1.1/statuses/update.json", params={"status": body}) print(res) # エラー処理 if res.status_code == HTTPStatus.OK: print("Successfuly posted") else: print(f"Failed: {res.status_code}") def main(): body = "Auto tweet test" auto_tweet(body) if __name__ == '__main__': main()
さてこれを実行してみると。。。
"
ちなみに Response の Statusが400番台でエラーが出ている場合はURLや認証情報が怪しいので確認してみてください。