PythonでTwitter APIを使ってツイートする方法

この記事のまとめ
  • PythonからTwitterのAPIを使って、テキストのみのツイートや、画像付きのツイートの仕方をまとめています。

背景

"新しいブログ記事を書きました"っていうツイートとか、定期的に過去の記事のツイートをしてくれるボット的なものがほしいなー、と思った次第で、Twitter APIをPythonから扱ってみました。

OAuth認証

Twitter APIもGoogle APIと同様にOAuth認証を行ってから使うことができます。認証用のキーの取得はTwitterのApplication Managementから行えます。

(2018.08.15追記)いつの間にかアプリケーションの認証が必要になりました。何のためにAPIを使うのかなど 英語で300字以上で 説明しなければなりません。世知辛い世の中になりましたね。。。

OAuth認証用キーの取得手順

取得手順は比較的簡単です。

まずは、Application Managementにアクセスして、"Create New App"ボタンをクリックします。

Twitter Application Manager

次に"Name"、“Description”、"Website"を入力します。これだけで必要なキーは取得できます。

Create An Application

取得画面はこんな感じです。 Management Window

"Keys and Access Tokens"のタブから赤枠で囲ったConsumer Key (API Key)Consumer Secret (API Secret)Access TokenAccess Token Secretの4つをAPIを叩くために使いますのでこれらをメモしておきます。

Tweepy

Pythonって何が良いってやっぱりライブラリの豊富さですね。Twitter APIを簡単に使えるライブラリもいくつかありまして、その中でもTweepyというライブラリが最も使われているTwitter API用のライブラリのようですのでこれを使っていきます。

Tweepyのインストール

Anaconda環境を使っている方は、pipを使えば楽々インストールできます。

# pip install tweepy

pipを使用しておられない方は、本家のホームページにインストール手順が書いてありますので参考にしてください。

サンプルコード

ここまで準備ができればあとは非常に単純です。 下記にサンプルコードを示しますが詳細を理解していなくても、先に説明した認証キー情報さえあれば簡単にツイートできてしまいます。

もし、写真なども一緒に添付したいときはupdate_status関数の代わりに、update_with_media関数を使えば簡単に写真付きのツイートもできてしまいます。

import tweepy
 
# 認証キー情報
CONSUMER_KEY    = 'xxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxx'
ACCESS_TOKEN    = 'xxxxxxxxxxxxxx'
ACCESS_SECRET   = 'xxxxxxxxxxxxxx'
 
# OAuth認証
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
 
# APIインスタンスを作成
api = tweepy.API(auth)
 
# Twitterへの書き込み
status = "Hello World!"
api.update_status(status=status)
 
# Twitterへメディア付きの書き込み
status = "Hello World!"
api.update_with_media(status=status, filename='sample.jpg') # カレントディレクトリに'sample.jpg'ファイルがある想定



今回は以上です。 最後まで読んでいただき、ありがとうございます。
関連記事

最近はTwitter APIを使うためのTwitter Devoloper Accountの取得が難しくなっています。Twitter Devoloper Accountの申請時の注意事項を下記の記事でまとめています。




コメント

このブログの人気の投稿

LinuxでのnVidia GPUのオーバークロック・電力チューニング方法