#author("2022-08-08T01:24:45+00:00","","") #author("2022-08-08T01:29:51+00:00","","") [[Pythonライブラリ]] 目次 #contents ここでは基本的にTwitter API v2について解説する。 *Twitter API v2とは [#f3faf69b] Twitter API v2は、Twitter社公式APIで、ツイートの投稿を一定ペースで行うbotの作成に役立てたり、指定したキーワードが含まれるツイートの取得などができる。~ 一番低いアクセスレベル「Essential」であれば、Twitter のアカウントを持っていて、電子メールのアドレスを Twitter のアカウントに紐づけている者なら誰でも利用できる。 *Twitter API v2導入方法 [#w71d27cc] Twitter API v2の導入方法について解説する。 Twitter API v2のアクセスレベルについての公式リファレンス https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api **アクセスレベル Essential [#p1948e36] +Twitterのアカウントを作る。 +Twitterのアカウントにeメールのアドレスを紐づける。 +https://developer.twitter.com/en/docs/twitter-api/getting-started/getting-access-to-the-twitter-apiにアクセスする。 +「Sign up >」ボタンでTwitterのアカウントでサインアップする。 +入力次項入力 Twitter API v2のdeveloper portalへのリンク https://developer.twitter.com/en/portal/dashboard ***仕様 [#te7edee9] |料金|無料| |取得ツイート制限|一か月あたり50万件まで| |検索クエリの長さ|512文字まで| **アクセスレベル Elevated [#s013f41c] +https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-apiへアクセスする。 +「Twitter API access levels and versions」のアクセスレベルの表の「Getting access」の該当アクセスレベル項目を確認する。 +「Apply for additional access within the developer portal」に従う。 参考 https://zenn.dev/mamushi/articles/twitter_api_v2_setup ***仕様 [#pc8b88aa] |料金|無料| |取得ツイート制限|一か月あたり200万件まで| |検索クエリの長さ|512文字まで| **アクセスレベル Academic Research [#x43b380b] +https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-apiへアクセスする。 +「Twitter API access levels and versions」のアクセスレベルの表の「Getting access」の該当アクセスレベル項目を確認する。 +「Apply for additional access」をクリックする? +「Ready to move forward?」の横の「Apply」をクリックする? ***仕様 [#y2de04c7] |料金|無料| |取得ツイート制限|一か月あたり1000万件まで| |検索クエリの長さ|1024文字まで| **仕様比較 [#s7b1518a] ||Essential|Elevated|Academic Research| |料金|無料|無料|無料| |取得ツイート制限|一か月あたり50万件まで|一か月あたり200万件まで|一か月あたり1000万件まで| |検索クエリの長さ|512文字まで|512文字まで|1024文字まで| *developer portal [#u1a9a48e] developer portalでTwitter API v2の利用に必要なトークンの発行などを行う。 Twitter API v2のdeveloper portalへのリンク https://developer.twitter.com/en/portal/dashboard Twitter API v2でできること一覧 https://developer.twitter.com/en/docs/api-reference-index *Search Tweets(recent) [#yc40455d] Search Tweetsはツイートの検索方法が2種類あるうちのrecent(GET /2/tweets/search/recent)について説明する。~ GET /2/tweets/search/recent は、ツイートの投稿日時を指定してツイートを取得すると、取得時から過去7日間に公開されたツイートのみの取得となる。 公式リファレンス https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference GET /2/tweets/search/recent の公式リファレンス https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference/get-tweets-search-recent **パラメータ [#mebff6a9] ***パラメータ一覧 [#t61fc103] パラメータを簡単な説明と共に列挙する。続いて各パラメータの詳細を説明をする。 |名前|型|説明| |query|文字列|取得したいツイートを検索する。| |next_token|文字列|前回の取得から遡ってツイートを取得するための文字列。| |since_id|文字列|指定したIDより大きいツイートを取得する。| |until_id|文字列|指定したIDより小さいツイートを取得する。| |max_results|整数|1リクエストあたりのツイート取得件数を指定する。| |start_time|日付|取得したいツイートのうち、最も古い日付を指定する。| |end_time|日付|取得したいツイートのうち、最も新しい日付を指定する。| |tweet.fields|列挙列|取得したツイートに関する情報を指定し、加える。| |media.fields|列挙列|取得したツイートに含まれる画像や動画、アニメーションgifに関する情報を指定し、加える。| |user.fields|列挙列|取得したツイートを投稿したユーザに関する情報を指定し、加える。| |place.fields|列挙列|場所に関する情報を指定し、加える。| |poll.fields|列挙列|投票に関する情報を指定し、加える。| |expansions|列挙列|取得したツイートの追加データを指定し、加える。| |sort_order|列挙列|取得したツイートの順番を指定する。| ***query [#zba30ac3] query(検索クエリ)について解説する。 検索クエリ制限比較 ||Essential|Elevated|Academic Research| |検索クエリの長さ|512文字まで|512文字まで|1024文字まで| 検索クエリの公式リファレンス https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-query **レスポンス情報 [#rebf0cee] ***レスポンス情報一覧 [#y8843a38] |名前|型|説明| |id|文字列|ツイートのID| |text|文字列|ツイート文| |created_at|日付|ツイートの投稿日時|