Edited at

twitter APIで遊んでみる #2(ユーザータイムラインの取得)


前回までのお話

twitter APIで遊んでみる #1(環境作り)


はじめに

前回は、とりあえずpythontwitter APIが叩ける環境まで作りました。今回は実際にAPIを叩いて、特定ユーザーのタイムラインを取得してみます。

なんとなく今ハンバーガーが食べたいので、モスバーガーの公式twitter(@mos_burger)のタイムラインを取得してみました。


APIのリファレンス

今回使用するuser_timelineAPIのリファレンスです。

https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline.html

パラメータはいっぱいありますが、今回はcountscreen_nameを指定しました。

countは検索結果のレコード数です。最大が200、デフォルトは20とのことです。今回はそんなにいらないので、とりあえず5にしました。

screen_nameはtwitterアカウント名です。@マークはいりません。またscreen_nameを指定しないと、API取得元の自分のアカウントの情報を引っ張ってくるようです。

早速結果を見てみよう。


コード

getTimelines.py

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

import json
import config
from requests_oauthlib import OAuth1Session

# OAuth認証部分
CK = config.CONSUMER_KEY
CS = config.CONSUMER_SECRET
AT = config.ACCESS_TOKEN
ATS = config.ACCESS_TOKEN_SECRET
twitter = OAuth1Session(CK, CS, AT, ATS)

# Twitter Endpoint(ユーザータイムラインを取得する)
url = "https://api.twitter.com/1.1/statuses/user_timeline.json"

# Enedpointへ渡すパラメーター
params ={
'count' : 5, # 取得するtweet数
'screen_name' : 'mos_burger', # twitterアカウント名
}

req = twitter.get(url, params = params)

if req.status_code == 200:
res = json.loads(req.text)
for line in res:
print(line['user']['name']+'::'+line['text'])
print(line['created_at'])
print('*******************************************')
else:
print("Failed: %d" % req.status_code)


実行結果

root@localhost:twitter$ python getTimelines.py

モスバーガー::ご好評いただいている #麻辣モスバーガー🍔のクーポンもあります(∩˃o˂∩)♡
モスバーガーアプリを是非ご利用ください😊💕
https://t.co/C5jbyoCcmw
Wed Mar 06 06:00:04 +0000 2019
*******************************************
モスバーガー::モスバーガーもご紹介いただきました!
TRiP EDiTOR(@TRiPEDiTOR)さん、ありがとうございました♪(*’-^)-☆
https://t.co/uOjrQXcLLS
Wed Mar 06 04:16:41 +0000 2019
*******************************************
モスバーガー::\#モスシェイク ファン必見😋/

お好きなセットに【+30円】でモスシェイクMが選べるってご存じですか?
ちょっと甘いものが欲しいときに、ぴったり✨✨
ストロベリー・コーヒー・バニラ、あなたはどのフレーバーがお好き❓… https://t.co/xSU9IOYUZ1
Wed Mar 06 02:00:04 +0000 2019
*******************************************
モスバーガー::\#私の好きモス キャンペーン/

モス商品のデジタルギフトを毎月抽選で30名様にプレゼント🎁
モスの推しメニューを教えてねヾ(o´▽`)ノ゙

★応募方法★
①モスバーガー公式TwitterまたはInstagramをフォロー
②… https://t.co/iV5vVsrLt4
Tue Mar 05 06:00:04 +0000 2019
*******************************************
モスバーガー::バンズからはみ出すほど大きな #ハンバーグ に、たっぷりのとろーり #濃厚チーズ がベストマッチ☝

ハンバーグもチーズもとびきり😍モスファンに根強い人気の一品です🍔

#モスバーガー
https://t.co/BpMVyh285n https://t.co/SWYD0TUmIn
Tue Mar 05 02:00:04 +0000 2019
*******************************************

問題なく取得できたようです。


終わりに

次回は、他のAPIも同じように使ってみようと思います。