【Twitter API v2の使い方】いいね/リツイートを実行する

API

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

・Twitter APIからツイートに”いいね”をしたい
・Twitter APIからツイートの”リツイート”をしたい
・どうやってTwitter APIを呼ぶプログラムを書けばいいか知りたい

この記事ではTwitter API v2を使ってツイートに”いいね”および”リツイート”をするプログラムの作成方法についてお伝えします。

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

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

Twitter API操作ライブラリ「Tweepy」をインストールする
PythonからTwitter APIを使うために、「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. “いいね”・”リツイート”のどちらの機能を使うかを入力する
    (1:いいね 2:リツイート)
  2. スクリーンネーム(@マークで始まるもの)を入力する
  3. 『get_user()』を使ってスクリーンネームからUser idを取得する
  4. User idを『get_users_tweets()』に渡してツイート情報を取得する(最初の一件だけ)
  5. 取得したツイートに対して”いいね”/”リツイート”を実行する

動作確認をする

保存ができたらプログラムを実行してみましょう。

テストは私のこちらの最新のツイートを使って行います。

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年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!

 

コメント

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