twitterのAPIを使う(APIアカウント登録とツイートの取得)


プロローグ

TwitterのAPIを使ってツイートしたり、ツイートを取得したりします。

アカウント登録する

※APIの登録画面は定期的にバージョンアップされているようです。
これは2020/8/15時点の方法になります。

通常のtwitterアカウントを事前に作っておき、ログインした状態でtwitterの開発用のサイトへアクセスします。
右上の「Apply」を押下します。

「Apply for a developer account」を押下します。

今回はbotを作るつもりなので、Hobbyistの「Making a bot」を選択して、「Next」を押下します。

アカウントの内容を確認し、国と名前を入力し「Next」を押下します。

用途などの入力が必要になります。
それぞれ英語で入力して「Next」を押下します。
英語は適当な翻訳サイトで翻訳して貼り付ければOKでした。

内容を確認して問題がなければ「Looks good!」を押下します。

承認するので、「Submit Application」を押下します。

twitterに登録してあるメールアドレスに登録を完了させるメールが送信されます。

「Confirm your email」を押下します。

アプリケーションの名前を入力し、「complete」を押下します。

APIキーなどが発行されます。
これは後からでも確認できるので、そのまま「App settings」を押下します。

Accessトークンを発行します。「Authentication Tokens」にある「Regenerate」を押下します。

アクセストークンが発行されるので、保存しておきます。
※このアクセストークンは後から確認できないので、保存し忘れたら再度「Regenerate」が必要です。
保存ができたら「Yes. I saved them」を押下します。

使ってみる

pythonを使ってサクッと取得したAPIキーが利用可能か確認してみます。

config.py
CONSUMER_KEY = "hogehoge"
CONSUMER_SECRET = "hogehoge"
ACCESS_TOKEN = "hogehoge"
ACCESS_TOKEN_SECRET = "hogehoge"
test.py
# -*- coding:utf-8 -*-
import json
import config
from requests_oauthlib import OAuth1Session
CK = config.CONSUMER_KEY
CS = config.CONSUMER_SECRET
AT = config.ACCESS_TOKEN
ATS = config.ACCESS_TOKEN_SECRET
twitter = OAuth1Session(CK, CS, AT, ATS) #Twitter認証
url = "https://api.twitter.com/1.1/statuses/user_timeline.json" #エンドポイント
params ={'count' : 1}
res = twitter.get(url, params = params)
if res.status_code == 200:
    tweets = json.loads(res.text)
    for tweet in tweets:
        print('name      : ' + tweet['user']['name'])
        print('text      : ' + tweet['text'])
        print('created_at: ' + tweet['created_at'])
        print('*******************************************')
else:
    print("Failed: %d" % res.status_code)
C:\hoge>python test.py
name      : hogehogeo
text      : HelloWorld!!
created_at: Sat Aug 15 05:42:25 +0000 2020
*******************************************

エピローグ

登録してpythonコードで確認することができました。