Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

前回までのお話

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

tomozo6
元Cobolerで金融系案件のPM。 インフラの技術に興味があって転職。 オンプレのホスティングサービスの構築,保守,運用を担当。 現在、時代の流れによりオンプレ環境を全てAWSへ移設する作業中。 全体改善,効率化,DevOpsが最近の興味関心。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした