はじめに
個人的にPythonの勉強をかねて作成してみました。こちらのソースコードはPython3とWindows10上で動かしています。
なお、Twitter APIの使用制限が厳しいらしいので、ご注意ください。参考記事にリンクを貼っておきます。
実行方法にあるコマンドをバッチにして、タスクスケジューラーで実行すれば自動でつぶやきます。
事前準備
-
Pythonインストール
下記の公式ページからダウンロードしてインストールする
-
ライブラリ requests requests-oauthlib のインストール
pipインストールでライブラリをインストールします
pip install requests requests-oauthlib
-
Twitterアプリケーションの作成
下記のリンクから登録します。参考記事を参考にしてください。
Twitter Developer Platform — Twitter Developers
ソースコード
- postWin7EOSLcounter.py
#jsonモジュール import json #OAuthライブラリ from requests_oauthlib import OAuth1Session #日付ライブラリ import datetime #TwitterAPI #[Twitter]Consumer API keys #CONSUMER_KEY
CK = "xxxxxxxxxxxxxxxxxxxxxxx"
#CONSUMER_SECRET CS = "xxxxxxxxxxxxxxxxxxxxxxx"
#[Twitter]Access token & access token secret #ACCESS_TOKEN
AT = "xxxxxxxxxxxxxxxxxxxxxxx" #ACCESS_TOKEN_SECRET
ATS = "xxxxxxxxxxxxxxxxxxxxxxx" #現在の日付の取得 dtToday = datetime.date.today() #Win7のEOSL 2020-1-14 dtWin7EOSL = datetime.date(2020, 1, 14) #Win7のEOSLまでの日にちを計算 strRemainingDate = str((dtWin7EOSL-dtToday).days) #認証処理 twitter = OAuth1Session(CK, CS, AT, ATS) #ツイートポストエンドポイント url = "https://api.twitter.com/1.1/statuses/update.json" #Tweetメッセージ/nは改行コード strtweet = ("[bot] Windows7の延長サポート終了まで\nあと " + strRemainingDate + " 日 ") params = {"status" : strtweet} #投稿/post res = twitter.post(url, params = params) if res.status_code == 200:
#投稿完了の場合 print("投稿しました") else:
#投稿エラーの場合 print("エラー: %d"% res.status_code)
実行方法
コマンドプロンプトから下記のコマンドを実行
python postWin7EOSLcounter.py
参考記事
-
PythonでTwitter API を利用していろいろ遊んでみる - Qiita
こちらの記事を参考にさせていただきました。大変わかりやすいです!ぜひ見てください。
-
TwitterAPIの使用条件