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

・Twitter APIからツイートに”いいね”をしたい
・Twitter APIからツイートの”リツイート”をしたい
・どうやってTwitter APIを呼ぶプログラムを書けばいいか知りたい
この記事ではTwitter API v2を使ってツイートに”いいね”および”リツイート”をするプログラムの作成方法についてお伝えします。
なおTwitter APIを呼び出すプログラム言語はPython使用し、プログラムにはTweepyライブラリを使用します。
PythonとTweepyをまだインストールしていない場合はこちらの記事をご覧ください。

ツイートをいいね/リツイートするプログラムを書く
ツイートの”いいね”にはTweepyの
like()
メソッドを、そして”リツイート”にはTweepyの
retweet()
を使用します。
それぞれTweet idをパラメータで使用しますので、呼ぶメソッドが違うだけですね。
今回は簡単に一番最近のツイートを1件”いいね”、”リツイート”するプログラムを書いてみます。
下のコードに作成したAPI KeyやAccess Tokenを入力してファイルを保存しましょう。
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 get_tweets(user_id):
tweets = client.get_users_tweets(user_id)
tweets_data = tweets.data[0].id
return(tweets_data)
def like_tweet(tweet_id):
client.like(tweet_id)
print("いいねしました")
def retweet(tweet_id):
client.retweet(tweet_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)
tweet_id =get_tweets(user_id)
like_tweet(tweet_id)
elif(input_num == 2):
print("リツイート機能")
print("リツイートするユーザーのスクリーンネームを入力してください")
screen_name = input()
user_id = get_user_id(screen_name)
tweet_id =get_tweets(user_id)
retweet(tweet_id)
プログラムの処理について解説します。
- “いいね”・”リツイート”のどちらの機能を使うかを入力する
(1:いいね 2:リツイート) - スクリーンネーム(@マークで始まるもの)を入力する
- 『get_user()』を使ってスクリーンネームからUser idを取得する
- User idを『get_users_tweets()』に渡してツイート情報を取得する(最初の一件だけ)
- 取得したツイートに対して”いいね”/”リツイート”を実行する
動作確認をする
保存ができたらプログラムを実行してみましょう。
テストは私のこちらの最新のツイートを使って行います。

OSのコマンドで下のコマンドを実行します。
python3 保存したパス/twpy_like_and_retweet.py
「python3 」まで書いたらコマンド画面にファイルをドラッグ&ドロップすると簡単です。
まずは”いいね”をつけてみましょう。

処理が終わりました。Twitterで該当ツイートを確認します。

ちゃんと自分の”いいね”がついていることが確認できました!(色付きのいいねアイコン)
この流れでリツイートも試してみます。

該当ツイートを見てみると

“リツイート”もちゃんとできてますね!(色付きのリツイートアイコン)
まとめ
今回はTwitter APIを介してツイートを”いいね”または”リツイート”するプログラムを作成しました。
あたらめて今回の内容をおさらいします。
- 対象の「Tweet id」を取得する(『get_users_tweets』などを使う)
- いいね:『like()』に取得した「Tweet id」を引数にして実行する
- リツイート:『retweet()』に取得した「Tweet id」を引数にして実行する
また”いいね”と”リツイート”を取り消すメソッドも用意されています。
“いいね”の解除には
unlike()
メソッドを、そして”リツイート”の解除には
unretweet()
メソッドを使用します。
こちらもTweet idを引数として渡すだけで使い方は『like()』および『retweet()』と一緒です。
特定のキーワードを含んだツイートに対して”いいね”や”リツイート”をする上で役に立ちますね!
注意
自動的な”いいね”や”リツイート”はTwitter APIで禁止されています。どれくらいの頻度を自動と見なされるのか分からないので、過度な使い方はしないようにしましょう。
Pythonの勉強におすすめな本
Pythonについて勉強したい!という方は
Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ
の本がおすすめです。
前ページがカラー印刷で、かわいらしいどうぶつ2人の会話形式で読みやすいです。
内容はPythonの特徴からはじまり、プログラミングの方法、そして簡単な人工知能を作るまでを解説してくれます。
またこの本の続編である、「Python2年生」も発売されているので合わせてどうぞ!
- Python2年生 データ分析のしくみ 体験してわかる!会話でまなべる!
- Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!
コメント