Twitter「API制限」と「Twitter API」のお話

  • このエントリーをはてなブックマークに追加

2023年6月末から7月2日にかけて、Twitter界隈で大きな話題となった「Twitter制限」について
一体何が起きたのかと言うことを、色々と調べながらまとめながら自分の考えを述べてみます。

何が起きた?

簡単に言うと「突然Twitter APIの制限をかけることで、Twitterが表示されなくなる」という現象が発生しました。

ツイッターが閲覧制限、「データ強奪」への一時的対策とマスク氏
https://www.bbc.com/japanese/66078928

マスク氏は自身のツイートで日本時間2日朝、認証されていないアカウントが閲覧できるのは1日1000件までだと述べた。新しい未認証のアカウントの場合は1日500件。一方、「認証」マークが付いているアカウントは1万件まで閲覧できるという。


TwitterのwebサービスもAPIを使用していることから影響を受けたようで、いわゆるツイ廃の人からすると、簡単に超えてしまう数字ですね。

ではなぜこれが発生したかというと、「Twitter APIが有料化されることで、今までシステムでTwitterの投稿内容を取得できなくなった事で、web版をスクレイピングで獲得しようとした事に対しての対策」という事のようです。

スクレイピングについては詳しく書いているとこがありますが、今回の場合は、Twitterのweb版の情報をプログラムを使って読み込んで保存する行為であり、利用規約にはスクレイピングは明確に禁止されています。

ただ、スクレイピングを行う場合は会員登録やログインを行わずにスクレイピングを行っていたので、禁止しようにも会員登録をしていない以上、利用規約的に対策が取れないんですよね。

あと実はAPIよりも多くの情報が簡単に取れてしまうと言う問題もあり…

なので今回Twitterは大きく2つの対応を行いました。

1つは前述した「Twitter APIの制限」で、もう1つは「非ログイン状態でツイートが表示されなくなる」事です。

この2つを実装することでスクレイピングを無効化しようという試みのようですね。

実際にこの施策により、スクレイピングしにくくなったと思います。


なぜこんなことをするの?

「無料なんだからそれくらいいいじゃん」という声もあるかと思いますが、Twitterからすると正規の方法ではない手段でのアクセスや情報収集は、サーバーの負荷やコスト増につながりますし、そういう情報は用意してある有料のAPIを使ってくれと言うことだと思います。

なんか最近のTwitter、課金ばっかりじゃない?

「Twitter Blueの件といい、なんか最近のTwitter課金させようとばかりしてない?」という不満の声が出てくると思いますが、数年前からTwitterが世界的なシェアに比べて収益性が低いと言われていたので、改善策として進めているようですね。

個人的にはTwitter APIのツイート検索機能を有料化したことで、どうしても情報をシステムで取り込みたい開発者が「APIへの課金」ではなく「スクレイピングで情報取得する」を選択してしまったことについては残念な思いでいっぱいです。

結局どうなった?

「API制限」に関しては7月3日時点では解消されたようで、普段使いする分には復旧したようです。

とは言え、今後もAPIの制限などいろいろな変更が突然やってくると思いますので、それをしっかりと追いかけ、対応していきたいと思います。

 

執筆者:松本[ エンジニア ]

関連記事

プログラミング

SharePoint REST APIを使用してリストの情報を取得し、headerにナビを作る

SharePointで作成したリストの情報をREST APIを使用して取得してみましょう。 今回は、APIで取得した情報を、headerにリンクとして差し込んでみます。サイト全体共通のナビでも、リストを使用すると、一か所で管理できるので便利です。 目次1 前提条件2 1.REST APIで情報を取得2.1 REST APIのURL2.2 データを取得する処理3 2.取得した情報をheaderに表示 前提条件 SharePoint Online モダンUI カスタムJSが使用で […]

WordPress

WordPressで権限やユーザーごとに管理画面のサイドメニュー表示を切り分ける

デフォルトだといろいろな項目が表示されているWordPressの管理画面のサイドメニュー。 慣れていない人にはわかりづらいですよね。 また、権限によってデフォルトで非表示にしてくれたりもしますが、この部分は見せたくないな…ということも多いと思います。 今回はWordPressで権限やユーザーごとにサイドメニューの表示を変更する方法をご紹介します。 目次1 権限の種類について2 function.phpに記述する2.1 サイドメニューの非表示用のコード2.2 権限ごとに振り分け […]

プログラミング

jQuery+PHPで大容量ファイルを分割アップロードするお話

ファイルのアップロードを行う際に注意しないといけないのが「アップロード容量」と「タイムアウト」です。 どちらもサーバーの設定に関わるところでレンタルサーバーでは対処しきれないところもあり、大容量にするとそれだけアップロードに時間がかかりタイムアウトが発生しやすくなります。 そこでフロント側で分割してファイルをアップし、バックエンド側で受け取った後に結合するようにするとよいでしょう 注意すべき点として通常のPOSTでの送信ではないため、あらかじめそこら辺を考慮した処理が必要とな […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。