【Twitter API v2の使い方】ユーザー情報を取得する

API

どうもイトサル(@itosaru)です。

・Twitter APIからユーザー情報を取得したい
・どうやってTwitter APIを呼ぶプログラムを書けばいいか知りたい

この記事ではTwitter API v2を使って自分を含むTwitterのユーザー情報を取得するプログラムの作成方法についてお伝えします。

Twitterの開発者登録などが終わっていない場合はこちらの記事をご覧ください。

【2022年最新】twitterデベロッパーアカウント登録の手順を図解!
Twitter APIを使うにあたってまず最初にTwitterのデベロッパーアカウント(開発者)登録をする必要があります。開発者登録は英語のTwitter Developer Portalサイトで行いますが、ポイントとなる箇所は日本語訳を入れて図解します!

なおTwitter APIを呼び出すプログラム言語はPython使用し、プログラムにはTweepyライブラリを使用します。

PythonとTweepyをまだインストールしていない場合はこちらの記事をご覧ください。

Twitter API操作ライブラリ「Tweepy」をインストールする
PythonからTwitter APIを使うために、「Tweepy」というライブラリをインストールする必要があります。この記事ではPythonのインストールからTweepyライブラリのインストール方法までの手順を画像を使って分かりやすく説明します。

自分のアカウント情報を取得するプログラムを書く

まずは自分のアカウント情報を取得してみましょう。

(とは言ってもあまり使う機会はないかもしれませんが…)

自分の情報を取得するには

client.get_me()

メソッドを使用します。

下のプログラムをコピーして自分のキー情報を入力した上で保存しましょう。

import tweepy
# Twitter Deverloper Portalで取得したAPIキーをコーテション('')の間にそれぞれ入れる
API_KEY = 'API Key'
API_KEY_SECRET = 'API Key Secret'
# Twitter Deverloper Portalで取得したベアラートークンをコーテション('')の間に入れる
BEARER_TOKEN = 'Bearer Token'
# Twitter Deverloper Portalで生成したアクセストークンをコーテション('')の間にそれぞれ入れる
ACCESS_TOKEN = 'Access Token'
ACCSESS_TOKEN_SECRET = 'Access Token Secret'

#リファレンスの内容に沿って入力(https://docs.tweepy.org/en/stable/client.html)
client = tweepy.Client(bearer_token = BEARER_TOKEN, consumer_key = API_KEY, consumer_secret = API_KEY_SECRET, access_token = ACCESS_TOKEN, access_token_secret = ACCSESS_TOKEN_SECRET)

me = client.get_me()
print(me)

動作確認①

プログラムを実行してみます。

無事自分の情報が取得できましたね。

ただ初期値で返ってくるのは

・User id : Twitter API上でTwitterアカウントを識別するためのid情報
・name : ディスプレイに表示される表示名
・username : Twitter上で使われるID(@で始まるもの)

の3つです。

リクエストパラメータを追加する

他の情報が欲しい場合は

user_fields

をリクエストパラメータに追加しましょう。

追加で取得できる情報はいくつかありますが、今回は使いやすそうなものとして

・created_at : アカウント作成日時
・description : アカウントの説明文
・url : 設定したURL情報

をとってみましょう。

リクエストパラメータを追加したプログラムはこちらです。

import tweepy
# Twitter Deverloper Portalで取得したAPIキーをコーテション('')の間にそれぞれ入れる
API_KEY = 'API Key'
API_KEY_SECRET = 'API Key Secret'
# Twitter Deverloper Portalで取得したベアラートークンをコーテション('')の間に入れる
BEARER_TOKEN = 'Bearer Token'
# Twitter Deverloper Portalで生成したアクセストークンをコーテション('')の間にそれぞれ入れる
ACCESS_TOKEN = 'Access Token'
ACCSESS_TOKEN_SECRET = 'Access Token Secret'

#リファレンスの内容に沿って入力(https://docs.tweepy.org/en/stable/client.html)
client = tweepy.Client(bearer_token = BEARER_TOKEN, consumer_key = API_KEY, consumer_secret = API_KEY_SECRET, access_token = ACCESS_TOKEN, access_token_secret = ACCSESS_TOKEN_SECRET)

me = client.get_me(user_fields = ["created_at","description","url"])
my_data = me.data
print(my_data)
print(my_data.created_at)
print(my_data.description)
print(my_data.url)

動作確認②

保存して実行してみましょう。

ちゃんと追加でリクエストに含めた情報もリターンデータに入っていることが確認できました。

自分以外のユーザー情報を取得するプログラムを書く

次は自分以外のTwitterユーザー情報を取得する方法です。

情報を取得するために

get_user()

メソッドを使用します。

なお、自分の情報取得と同様初期値だとアカウント作成日時などの付帯情報は返ってきません。

こちらも同様にリクエストパラメータに

user_fields

を追加することで情報を取得できます。

今回はスクリーンネーム(@で始まるもの)を入力して情報を取得するプログラムを書いてみます。

import tweepy
# Twitter Deverloper Portalで取得したAPIキーをコーテション('')の間にそれぞれ入れる
API_KEY = 'API Key'
API_KEY_SECRET = 'API Key Secret'
# Twitter Deverloper Portalで取得したベアラートークンをコーテション('')の間に入れる
BEARER_TOKEN = 'Bearer Token'
# Twitter Deverloper Portalで生成したアクセストークンをコーテション('')の間にそれぞれ入れる
ACCESS_TOKEN = 'Access Token'
ACCSESS_TOKEN_SECRET = 'Access Token Secret'

#リファレンスの内容に沿って入力(https://docs.tweepy.org/en/stable/client.html)
client = tweepy.Client(bearer_token = BEARER_TOKEN, consumer_key = API_KEY, consumer_secret = API_KEY_SECRET, access_token = ACCESS_TOKEN, access_token_secret = ACCSESS_TOKEN_SECRET)

print("スクリーンネームを入力してください")
username = input()

user = client.get_user(username=username, user_fields = ["created_at","description","url"])
user_data = user.data

print(user)
print("created_at: " + str(users_data.created_at))
print("description: " + users_data.description)
print("url: " + users_data.url)

保存して実行してみましょう。

動作確認③

無事入力したスクリーンネームで情報を取得できましたね!

今回はスクリーンネームで情報を取得しましたが、ユーザーIDで情報を取得することもできます。

その場合は14行目を以下のように『get_user』の引数をid =で指定することで取得できます。

print("User IDを入力してください")
twitter_id = input()

user = client.get_user(id = twitter_id, user_fields = ["created_at","description","url"])

まとめ

今回は自分を含むTwitterユーザーの情報を取得するプログラムを作成しました。

改めて今回の内容を振り返ります。

  • 自分の情報を取得する:『get_me()』を使う
  • 自分以外のユーザーの情報を取得する:『get_user()』を使う
    →取得にはUser idもしくはScreen Nameを指定する

自分をフォローしてくれている方のプロフィールなどを見てみると面白いかもしれませんね。

またユーザー情報は一度に1000件取得することができます。

1000件を超えるデータを取得したい場合はnext_tokenを使っての処理が必要です。

next_tokenについてはこちらの記事をご覧ください。

【Twitter API v2】next tokenを使って大量データを処理する
Twitter APIは1回のリスエストで取得できるデータの上限数が決まっています。例えばフォロワーを取得する処理では1000行が上限です。1001以上のデータをさらに取得したい場合はnext_tokenを使う必要があります。この記事ではそのnext_tokenについて説明します。

Pythonの勉強におすすめな本

Pythonについて勉強したい!という方は

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ

の本がおすすめです。

前ページがカラー印刷で、かわいらしいどうぶつ2人の会話形式で読みやすいです。

内容はPythonの特徴からはじまり、プログラミングの方法、そして簡単な人工知能を作るまでを解説してくれます。

またこの本の続編である、「Python2年生」も発売されているので合わせてどうぞ!

  • Python2年生 データ分析のしくみ 体験してわかる!会話でまなべる!
  • Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!

 

コメント

タイトルとURLをコピーしました