Twitter の user_id を用いてそのユーザのホームページにアクセスする方法
結論
https://twitter.com/i/user/:user_id
にアクセスすると、ユーザのホームページ(URL)にリダイレクトされます
背景
Twitter の REST API(v1)では、ユーザの情報として user_id
の値を取得することができます。この user_id
はユーザごとに割り当てられている一意の数値です。
参考: GET followers/ids | Docs | Twitter Developer
よく目にする @zenn_dev
という文字列は screen_name
と呼ばれるものです(正確には @
は含まれません)。この screen_name
はユーザが任意に変更できるため、一意性が保証されません。
一方で user_id
ならば一意性が保証されます。したがって、コード中でユーザを取り扱う場合にはこちらの値を用いるのが良いでしょう。
ただ、ユーザのホームページのURL( 例えば https://twitter.com/zenn_dev )には user_id
の文字列が含まれておらず、screen_name
のみが含まれています。もちろん user_id
がわかっていればそこから screen_name
は取得できます。しかし、貴重な Web API の 1回分 を消費してしまいます。
これが一人や二人のユーザに対してならば大きな問題は起きないでしょうが、一定の規模のユーザ数の screen_name
を取得するとそれだけで Web API の Rate Limits に到達します。
そこで、user_id
のみでユーザのホームページにアクセスする方法が知りたいということになります。
改めて結論
user_id
のみでユーザのホームページにアクセスするには、以下の URL にアクセスすればよいです(:user_id
の部分に user_id
を当てはめる)。
https://twitter.com/i/user/:user_id
例えば、zenn_dev
という screen_name
の user_id
は 1192772490012938240
です。したがって、以下の URL にアクセスすると zenn_dev
のユーザのホームページにリダイレクトされます・
この URL を見つけた経緯
上記の URL は公式のドキュメントには掲載されていない……はずです。では上記の URL をいつ見つけたのか、というと、タイムライン上に「〜さんが返信しました」や「〜さんがいいねしました」という表示にマウスをホバーさせたとき、です。
これらの文字列にマウスをホバーさせたとき、ステータスバーに上記の URL が現れて気づきました。
(参考)user_id を取得する方法
Web API を用いない場合は user_id
を意識する必要はないかと思います。そして Web API を用いているということは user_id
は容易に取得できていると思います。
したがって「user_id
を取得する方法」を改めて説明をする必要はないでしょう。
ただ、Webブラウザから手軽に user_id
を取得したい場合には以下のようなサービスがありますので、参考として挙げさせて頂きます。
(参考)intent/ を用いる方法もある
上記の URL の形式ではなく、intent/
を用いた以下の URL でも当該ユーザのホームページにアクセスできます。
https://twitter.com/intent/user?user_id=:user_id
ただ、この intent/
込みの URL にアクセスすると「ようこそ! フォローできるようになりました。」というポップアップが必ず出てきます。これは本来的ではないと思うため、今回の説明からは省き「参考」という形で末尾に記載させて頂きます。
Discussion