20
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-03-06

前回までのお話

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も同じように使ってみようと思います。

20
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?