Threads API - 最初の非公式Threads APIクライアント
(github.com/junhoyeo)背景
- 昨日の朝、Meta(Instagram)がTwitterの対抗馬として出したアプリ、Threadsがリリースされ、ローンチから7時間で1,000万人のユーザーに到達
- Threadsの盛り上がりをただ見ているだけではいられないと思い、この機会をどう活用するかを考えた
- 非公開APIを使ってTypeScript/Node.jsクライアントを作ることに決めた
- 3年前にも、ClubhouseがWebアプリなしでローンチした際、SSL ProxyでAPIリクエストを解析してWebサービスを作ったことがある(junhoyeo/clubhouse-profile)。周囲は面白がってくれたが、それ以上のインパクトは出せなかった
- ただ今回は、タイミング的にもう一度やってみる価値のある戦略だと感じた:
- 昨年ChatGPTが登場し、開発者たちが非公式クライアントやサービスを作りながら、エコシステム全体が発展していった
- 今でもGitHubのフィードを見ると、ChatGPT/OpenAI SDKやカスタムクライアントを扱う新しいリポジトリを簡単に見つけられる
- 今回もう一度やるなら、もっと面白く取り組めそうだと感じた
今後の方向性
- Threadsは、Mastodonが推進するFediverseエコシステムと互換性を持たせる形で連携を準備中
- イーロン・マスクのTwitter、そして(すばやく追随した)Redditなど、SNS各社によるAPIビジネス化がまた一つのトレンドになっている
- MetaがThreadsのAPIを外部公開するのは時間の問題だろう
- ChatGPTの事例
- ChatGPT Clientを最も早く作った一人であるTravis Fischer
- 14k以上のスターを持つ transitive-bullshit/chatgpt-api リポジトリなどを保有
- OpenAIがGPT4 APIを大半のユーザーが利用できる形で公開した後は、Unofficial ClientからOfficial APIを連携するクライアントへと、素早くプロジェクトのポジションを変更した
- ChatGPT Clientを最も早く作った一人であるTravis Fischer
- Metaが動いたときにも、すばやく公式連携を追加すれば、SDKライブラリのポジションを先取りできると判断した
進行
- 夜9時に、30分ほどでユーザー名(username)からThreadsが内部的に使うUser IDを取得し、これを使ってGraphQLクエリを投げてユーザープロフィールと投稿されたスレッドを取得する基本機能を作って公開し、
threads-apiリポジトリを始めた - キーワードの影響か、すぐに新しい開発者が流入し、何のリポジトリなのかを尋ねるIssueが付いた
- Working in Publicで開発を継続
- 当日にNext.js、TailwindでReaderデモを作成
成果
- わずか1日で200以上のスターと6,000以上のページビューを記録
- さまざまな国籍の開発者が貢献し、ThreadsやTwitterでアイデアを共有
- これに触発された人たちが、Rust、Go、Java、Python版のクライアントを作成
- GitHub Issueを通じてスポンサー提案も受けた
これから
- 認証連携
- 楽しいUIコンポーネント作り
- オープンソースコミュニティによってメンテナンスされるカスタムクライアントのローンチ
10件のコメント
うう、Meta はこれらの活動を直ちに停止するよう求めています。
幸い、連絡をくれた法律事務所の弁護士の方とうまく話をまとめることができました。過ぎてから振り返ると、ただの面白いハプニングだったように思います。笑
GitHub Trending おめでとうございます おめでとう
今確認しました。ありがとうございます!今回がたぶん初めてトレンドに乗った時だった気がしますが、一度上がるとボットたちがあちこちに飛ばしてくれるんですよねw
すばらしいです。
私もThreadsを見て、誰かがまたAPIを作るだろうと思っていましたが、
実際に本当に素早く実行に移されたのですね!
順調に進んで、公式ライブラリに加わることを願っています。
ありがとうございます! write を実装してから公開せず、まず read だけを先に出して先行者利益を取れたのが最高の一手だった気がします(笑)
公式ライブラリ化は叶いませんでしたが、これからも面白いプロジェクトをたくさんやっていこうと思います!
わあ
ありがとうございます!
すごいですね!
ありがとうございます!!