MR2オーナー吉田貴幸のブログ

MR2(SW20)オーナー吉田貴幸のブログ。仕事はITインフラエンジニア。愛車の記事とIT関連の情報を発信しています

【Python】 Twitter APIを使って Windows 7 の延長サポート終了日までの日数をつぶやく

はじめに

個人的にPythonの勉強をかねて作成してみました。こちらのソースコードはPython3とWindows10上で動かしています。

なお、Twitter APIの使用制限が厳しいらしいので、ご注意ください。参考記事にリンクを貼っておきます。

実行方法にあるコマンドをバッチにして、タスクスケジューラーで実行すれば自動でつぶやきます。

 

事前準備

  • Pythonインストール

下記の公式ページからダウンロードしてインストールする

www.python.jp

 

  • ライブラリ 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

こちらの記事を参考にさせていただきました。大変わかりやすいです!ぜひ見てください。

qiita.com

 

  • TwitterAPIの使用条件

www.itmedia.co.jp