Twitter APIを使ったアプリ開発【Python】第2章 APIの実行

デベロッパー登録画面1 サンプルコード
developer.twitter.com
ショウ
ショウ

こんにちはショウです

ツイッターのAPIを使ったアプリ開発
~面白いことをいろいろやってみよう~シリーズです

今日は第2章の APIの実行です
実際にAPIを使用してタイムラインの取得、検索、つぶやいてみるをやってみます

前回はAPI実行に必要なCONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRETの取得を行いました

初心者でもわかるように説明していきますので、みなさん挑戦してみてください

ソースコード

早速ソースコードです
用意した仮想環境のフォルダにtwpyView.pyという名前で保存しています

requests_oauthlibのインポート

twitterではOAuth認証を採用していますので、
requests_oauthlibを使います

今回の開発用に準備した仮想環境(twipyView)にpipでインストールします

(twipyView)…> pip install requests requests_oauthlib

twpyView.pyではfrom requests_oauthlib import OAuth1Sessionで
requests_oauthlibをインポートします

OAuth認証用のCONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRETは別ファイル(config.py)に記述して
twpyView.pyと同じ階層に保存しておきます

import json, configにてconfig.pyをインポートします

oath_session ()

OAuth認証を行う関数です

config.pyから読み込んだCONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRETを使ってOAuth認証を行います

timeLine(twitter)

タイムラインを取得する関数です
引数にOAuth認証の戻り値を設定

urlにuser_timelineのエンドポイントを設定します
エンドポイントについてはこちらの公式サイトをを参考にしてください

エンドポイントとはAPIにアクセスするためのURLのことです

paramsには設定するパラメータを指定します
‘count’ : 5でタイムラインから5件取得することができます
設定できるパラメータは他にもあるのでこちらの公式サイトを参考にしてください

getメソッドで設定したエンドポイントのデータをリクエストします

getメソッドが正常に完了した(status_codeが200)場合、
timelineに習得してきたテキストを読み込みます

習得できたタイムラインの数だけループして表示します
1行目にユーザネーム
2、3行目に内容を表示します

serchTewwt(twitter)

検索を実行する関数です
引数にOAuth認証の戻り値を設定

urlにsearchのエンドポイントを設定します

ユーザからの入力を受け付けます
入力された文字列をkeywordに格納します

paramsに検索ワードと取得する数を設定します

getメソッドで設定したエンドポイントのデータをリクエストします
あとはタイムラインの取得と同じです

Tewwt(twitter)

検索を実行する関数です
引数にOAuth認証の戻り値を設定

urlにupdateのエンドポイントを設定します

ユーザからの入力を受け付けます
入力された文字列をtweetに格納します

paramsにつぶやく内容を設定します

postメソッドで設定したエンドポイントのデータをリクエストします

メイン処理

最初に実行される関数です

def main():
twitter = oath_session()
最初にOAuth認証を行います

ユーザから入力された数値により呼び出す関数を分岐しています
1,2,3以外の数値が入力されたら終了します

プログラムの実行

仮想環境で下記コマンドを実行する

>python twpyView.py

ツイッターAPIアプリ実行画面
twapi2-1

どの処理を実行するか尋ねられるので、選択する
今回は「1:タイムラインを取得する」を選択

モード選択状態
twapi2-2

タイムラインの内容が表示されました
表示が終わると最初の処理選択に戻ります

タイムライン取得の実行画面
twapi2-3

次に「2:検索する」を選択すると検索キーワードの入力待ちとなります

検索の実行画面
twapi2-4

Pythonと入力してみると検索結果が表示されました

検索の実行画面
twapi2-5

最後に「3:つぶやく」を選択して、つぶやく内容を入力してみた

つぶやく内容の入力待ち画面
twapi2-6

ツイッターでみてもちゃんとつぶやけていますね
やさしい方たちが「いいね」してくれています

まとめ

今日はTwitterAPIを使用してみました
意外と簡単にできておもしろかったですね

もう少し機能追加して画面をつければツイッタークライアントができそうです

質問や相談あればドシドシご連絡ください!!
次はこんなことやってみて等の依頼も募集中です

コメント