こんにちは、tosumaです。
今回はTwitterAPIについての記事です。
本件について先に私見を述べますが、私個人的にはとても不満な騒動でした。
1|API廃止騒動の発端(2月)
今年(2023年)の2月頃ですかね、Twitter社が無償版のTwitterAPIの提供を廃止すると突然宣言されました。私自身かなり驚きましたし、世界中から割とネガティブな意見が飛び交っていましたね。大荒れ。
※私のクレームリプも消されてなければどこかに居ます苦笑
Starting February 9, we will no longer support free access to the Twitter API, both v2 and v1.1. A paid basic tier will be available instead 🧵
— Twitter Dev (@TwitterDev) 2023年2月2日
一部APIについて精通してる界隈では大騒ぎだったんですが世の中的にはそんなに大事にはなってなかった印象ですね。ニュースとかでやってたんですかね?
TwitterのAPIはもともと無償と有償とで堺はあったものの無償で可能な事がかなり豊富だったため私のような個人を始め、アカデミックやゲームなどあらゆる方面で利用されていました。
おそらく意識していないだけで普段の生活でTwitterのAPIに触れている人はかなり居ると思います。それが突然「廃止」宣言なので流石に衝撃は凄まじいですね。
宣言の内容は勿論ですが、混乱の原因の1つがサービスが整備されていないまま宣言された事にあると感じました。
当初、2月中旬に廃止とありましたが当日まで、というより当日過ぎても切替方法や有償時の費用や利用範囲など一切提示されていませんでした。
(企業としてちょっとおかしいのでは?)
そしてXデーを過ぎた後、廃止の期日を先延ばしすると追加でコメントがあり、ことさら混乱具合が増しました。もうメチャクチャだよ。
2|API廃止の実施(3月)?
いよいよ3月末、ついに廃止が実行され、TwitterのAPIを利用していたアプリケーションは次々閉鎖宣言をする事になりました。
Today we are launching our new Twitter API access tiers! We’re excited to share more details about our self-serve access. 🧵
— Twitter Dev (@TwitterDev) 2023年3月29日
見直しを求めるリプなどかなり多く散見されていましたが全く受け入れられる事なく実施に至りましたね。無慈悲な。
スマホゲームなどからも次々アナウンス出ていましたし、別の認証方式に切替するよう仕組も整備されているようでした。
FFRKはSNS認証してないからほとんど影響無かったですね。無風。
FFRK海外版はなぜかFacebook連携だったのを思い出しました笑
で、ここからが私の混乱の本当の意味での始まりでした。
3|API廃止後のサイト運営(4月)
私はFFRKというゲームの非公式のサイト運営をしています。
その中でダンジョンの攻略管理の一環で撃破タイムをツイートから自動で毎日集計する仕組を提供しているのですが、この仕組にAPIを用いています。
で、その仕組みが3月は勿論、4月に入っても依然動いてたんですよね。
Why~?
で、まぁ動いてるならいいか、とそのまま様子を見てました。しばらく音沙汰も無かったのでもう騒動の事を忘れてさえいましたね。
4月29日、事態は急変。自動集計が突然止まる。
Why~?
何?何?
とりあえず手でプログラムを流してみると動かない。
Why~?
別で簡単なプログラム作っても動かない。
Why~?
ここでようやく察する、APIが廃止された、と。
※引用元(普通に書いてた)
https://twittercommunity.com/t/deprecating-the-premium-v1-1-api/191092
くそっ!!!
完全廃止されとるやんけ!!!
G.W連休初日、こちとら片道2時間の移動かつ子供3人連れての山遊び日帰り家族サービス直後で満身創痍やぞ!!スマホのスクロールすら億劫なコンディションや!!
...とわいえまずは落ち着いて、Developerポータルの管理画面見てみる。
「状態:SUSPEND」
くそっ!!!
アプリまで制限掛けられとるやんけ!!!
まぁとりあえずダメ元でサポートへ問合せ。
2日ほど待ってみる。
くそ!!!
返事すらこねーじゃねーか!!!
で、これを見つける。
🚨 If your developer account application was under review over the last few months, we kindly ask you to re-apply if you are interested in subscribing to our new Twitter API Free or Basic plans.
— Twitter Dev (@TwitterDev) 2023年4月4日
Our new self-service process should enable you to get access in no time! 🙏
あぁそう。もう対応しないから作りなおせって事ね。
アプリぶっ削除して1から作り直すことを決意。
4|API廃止後のサイト運営(5月)
まずは状況を整理、4月28日に抹殺されたのは以下。
・Standard(v1.1)
・Essential(v2)
・Elevated(v2)
・Premium
私はこのうちのElevatedに属していたため恐らくサスペンドされたのかと思われる。(問題1)
また、プログラムは一部を除き基本的にAPIのバージョン1.1で実装していたので1.1が廃止されそのプログラムそのものも使えなくなってしまったと思われる。(問題2)
そう、解決すべき問題はこの2つだ。
4月28日以降、すべてが有償になるという訳ではなく、個人や小規模プロジェクト向けには「Free」レベルが用意される。
Freeレベルは、書き込み専用のアプリやAPIのテスト、「Twitter」へのログインといったユースケースが想定されている。月間1,500件までのツイートを投稿可能、アプリIDは1つのみ、APIエンドポイントは3つ(自分のツイートを取得、ツイートを投稿、ツイートを削除)。
ふむふむ。なるほどね。
くそ!!!
もうこれ詰んでない!?
......まぁまぁとりあえずやってみる。
サービス継続に必要な機能は「書き込み」と「検索」の2種。
まず問題1の対策として、アプリを削除し新しいアプリを作成する。
多少面倒だがSUSPEND状態そのものはこれで解消される。
また、この時点で既に「Elevated」から「Free」には既に移行されていた。
OK、1つ目の問題はクリア。
次いで問題2の方、バージョン2のコーディングでまずは書き込みを作ってみる。
特に問題無し、以前とほぼ同仕様で実装可能だった。
これについてはFreeにて「書き込みは月に1500回までは可能」とあったので、心配はしてなかった。
で、問題は「検索」。
だったけど、結論としては若干苦戦したもののtweepyを使う事で概ねバージョン1.1で実装していたプログラムと同等のものを作る事が出来た。
普通にFreeの範疇でSearchが出来たので良かった。
※取得イメージ
tweepyはTwitterAPIを用いてTwitterを簡易操作するためのPythonライブラリですね。
※tweepyの公式HPは以下
Tweepy
とりあえず2月から始まった戦いが無事これで終わりました。
自動集計の頻度は落とさざるを得ないものの、5月以降も基本的にこのサイト運営を続けて行けそうです。
それでは皆さん、良いTwitter & テクニカル ライフを !!