Iruca Log

読者です 読者をやめる 読者になる 読者になる

Iruca Log

東京に住むWeb系エンジニアによるデータ分析ブログ

SNSでフォローする!

最速でTwitter APIを使ってみる手順まとめ

f:id:iruca21:20170513135536p:plain

何度もTwitterアプリを作る作業をやってるはずなのにすぐに忘れるので自分用にまとめておく。
はてなブログとTwitter API使ってなんか面白いもの作りたいなあ。
はてなブロガーのアカウント見つけて自動的にフォローしたり、自分の過去の記事を定期的に宣伝してみたり。
可能性は無限大。


目次

アプリケーションを作成する

APIを使ってどんなアプリケーションを作るつもりか決まっていなくても、Twitterに自分のアプリケーション情報を登録しなければいけません。
Twitterにログインした状態で下記のページからCreate New Appを押します。

apps.twitter.com

f:id:iruca21:20170513134520p:plain


今から作ろうとしているアプリケーションの情報を埋めて、Create your Twitter Application ボタンを押します。


f:id:iruca21:20170513134553p:plain


Twitterアカウントに電話番号を登録・認証しておかないとここで弾かれるので、
事前にTwitterアカウントで「設定とプライバシー」→「モバイル」から電話番号を入れて認証しておきましょう。

Tokenを取得する

無事に申請完了するとこんな画面になります。

f:id:iruca21:20170513134627p:plain


自分のアカウントを使ってtwitter APIをたたくためには Consumer Key, Consumer Secret, Access Token, Accesss Token Secert の4種類の鍵情報が必要。
上記画面からKeys & Access Tokens を押すと Consumer Key / Consumer Secretは書かれてます。
あとはKeys & Access Tokens 画面の下の方にあるYour Access Tokenの画面から、CreateAccessTokenを押して発行します。

f:id:iruca21:20170513134651p:plain

これで画面にAccess TokenとAccess Token Secretが表示されるので、情報がそろいました。

実際に使ってみる


では実際にAPIを使ってみましょう。
pythonから使ってみたいのでこの記事を参考にします。
試しに自分の最新のtimelineを取得してみます。
事前にrequests_oauthlibというモジュールをpipで入れておきます。

[root@hoge twitter-api]# pip install requests_oauthlib


test_get_timeline.py

#!/usr/bin/python
#-*- coding:utf-8 -*-

from requests_oauthlib import OAuth1Session
import json

CK = 'XXX'   # Consumer Key
CS = 'XXX'   # Consumer Secret
AT = 'XXX'   # Access Token
AS = 'XXX'   # Accesss Token Secert

# タイムライン取得用のURL
url = "https://api.twitter.com/1.1/statuses/home_timeline.json"

# とくにパラメータは無い
params = {}

# OAuth で GET
twitter = OAuth1Session(CK, CS, AT, AS)
req = twitter.get(url, params = params)

if req.status_code == 200:
    # レスポンスはJSON形式なので parse する
    timeline = json.loads(req.text)
    # 各ツイートの本文を表示
    for tweet in timeline:
        print(tweet["text"])
        print "----"

else:
    # エラーの場合
    print ("Error: %d" % req.status_code)


上のスクリプトを実行してみる。

[root@hoge twitter-api]# python test_get_timeline.py
13:35 5月のアノマリーは「Sell in May」 #株 #アノマリー #相場経験則 #pts #ir
⇒詳細はブログをご覧ください。
----
(R18 コンテンツです)文庫版と kindle 版でジャケの下着の色が変わったんだけれど画像加工の問題か…w

嫌な顔されながら子づくりさせてもらいたい (美少女文庫) | 上原 りょう, 40原 |本 | 通販 | Amazon https://t.co/06AjG0FRG1
----
追記:エリスリトールは科学的なイメージ強いですが、調べたら食品扱いなので添加物じゃないそうです。 #はてなブログ
【手作りのりたま】レンジで簡単定番ふりかけ再現レシピ~1食3.5円で安…… https://t.co/HR8OfOLHbt
----
マー君、神の子、不思議な子
https://t.co/cROzv5vQbL
----
さ、詐欺やったんかー!登録料払って終わりのやつなんだ。
美熟女といいながらどエライお婆ちゃんが出てくるオチを期待したのに。 https://t.co/XhKhW3AOVv
----
雨弱まってきたしごちうさ饅頭でも買いに行くか(´・_・`)
----
Vistaのスケスケウインドウ生きとったんかワレ(´・_・`)
----
RT @biac: 16190 SDK
タイトルバーまでスケスケ 'Acrylic' エフェクトにするには、2行ほどコードを追加するだけ。

#uwpdev_jp #FluentDesignSystem #ProjectNEON https://t.co/ZQquYlNv7F
----
イケアに来たけどレストランの感じがヨーロッパの食堂を感じさせる
----
うまるちゃんのスタンプ持ってるとか良い趣味してるじゃん(´・_・`)


とりあえずタイムラインはとれました。
学生時代、黒い画面に文字をバラバラだしてプログラミングして勉強してると見せかけて、
実際はこういうスクリプト使ってtwitterのタイムラインを表示させて遊んでるだけだったことを思い出すなあ。

さて、なんかアプリ作ってみよーっと!