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

・Twitter APIからフォローしたい
・Twitter APIからフォローを解除したい
・どうやってTwitter APIを呼ぶプログラムを書けばいいか知りたい
この記事ではTwitter API v2を使ってフォロー・フォロー解除を実行するプログラムの作成方法についてお伝えします。
Twitterの開発者登録などが終わっていない場合はこちらの記事をご覧ください。

なおTwitter APIを呼び出すプログラム言語はPython使用し、プログラムにはTweepyライブラリを使用します。
PythonとTweepyをまだインストールしていない場合はこちらの記事をご覧ください。

フォロー・フォロー解除するプログラムを書く
それではフォロー・フォロー解除するプログラムを書いていきます。
フォローするには
follow_user()
メソッドを使用します。
逆にフォロー解除するには
unfollow_user()
メソッドを使用します。
今回はそれぞれの機能を選択して使えるプログラムとして作成しました。
下のプログラムをコピーして自分のキー情報を入力した上で保存しましょう。
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)
def get_user_id(screen_name):
user_id = client.get_user(username=screen_name)
return(user_id.data.id)
def follow_def(user_id):
follow = client.follow_user(user_id)
follow_data = follow.data
following = follow_data["following"]
pending_follow = follow_data["pending_follow"]
if(following == True and pending_follow == False):
print("フォローしました")
else:
print("フォローの申請をしました")
def unfollow_def(user_id):
unfollow = client.unfollow_user(user_id)
print("フォロー解除しました")
print("使用する機能を選択してください")
print("1:フォロー 2:フォロー解除")
input_num = int(input())
if(input_num != 1 and input_num !=2):
print("終了")
elif(input_num == 1):
print("フォロー機能")
print("フォローするユーザーのスクリーンネームを入力してください")
screen_name = input()
user_id = get_user_id(screen_name)
follow_def(user_id)
elif(input_num == 2):
print("フォロー解除機能")
print("フォロー解除するユーザーのスクリーンネームを入力してください")
screen_name = input()
user_id = get_user_id(screen_name)
unfollow_def(user_id)
プログラムの解説をします。
- 起動すると最初にフォロー・フォロー解除の区分入力を待つ
(フォロー:1、フォロー解除:2) - 区分入力後、スクリーンネーム(@マークではじまるもの)を入力する
- 『get_user()』を使って入力されたスクリーンネームからUser idを取得する
- 取得したUser idを『follow_user()』/『unfollow_user()』に渡してフォロー/フォロー解除を実行する
- フォローの場合、「following」・「pending_follow」のリターンデータが来る
・following:フォロー状態(True:フォロー中 False:フォローしていない)
・pending_follow:フォローの保留状態(True:鍵アカウントである False:鍵アカウントではない)
『get_user()』については別記事を書いているので興味がある方はこちらをご覧ください。

動作確認
保存出来たら実際にプログラムを動かしてみましょう。
まずは先日Twitter買収を決定した「Elon Musk(@elonmusk)」さんをフォローしてみます。

プログラムのフォロー機能を実行します。

Twitterの画面を確認してみると

ちゃんと[フォロー中](フォロー状態)になってますね!
では次にフォロー解除をやってみます。

Twitterの画面を確認してみます。

[フォローする](フォロー解除状態)になっていました!
まとめ
今回はTwitterユーザーのフォロー/フォロー解除を実行するプログラムを作成しました。
改めて今回の内容を振り返ります。
- フォローする:『follow_user()』を使う
- フォロー解除する:『unfollow_user()』を使う
- それぞれ引数として「User id」が必要
『get_user()』でスクリーンネームから取得する、もしくはツイートの取得の際、投稿者のUser idを取得する。
また今回はスクリーンネーム(@マークで始まるもの)を使ったプログラムを作りました。
この他にもツイート取得時にUser idを取得することができるので、特定のキーワードをつぶやいた人をフォローする、もしくはフォロー解除するといった使い方もできそうです。
キーワードからツイートを取得するプログラムについてはこちら

Pythonの勉強におすすめな本
Pythonについて勉強したい!という方は
Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ
の本がおすすめです。
前ページがカラー印刷で、かわいらしいどうぶつ2人の会話形式で読みやすいです。
内容はPythonの特徴からはじまり、プログラミングの方法、そして簡単な人工知能を作るまでを解説してくれます。
またこの本の続編である、「Python2年生」も発売されているので合わせてどうぞ!
- Python2年生 データ分析のしくみ 体験してわかる!会話でまなべる!
- Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!
コメント