F.Ko-Jiの「一秒後は未来」

Twitterの情報をAPIで返す場合は「ユーザー名」だけでなく「ID」も一緒に返してほしい

screen_name_is_not_equal_to_id.jpg

Twitterの「ユーザー名」と「ID」

Twitterのユーザーには「ユーザー名」と「ID」という 2 つの識別子があります。

ここでいう「ユーザー名」は「fkoji」のようにログイン時やリプライ時に使われる英数字の文字列のことで、APIのパラメーターでは「screen_name」と表されるものです。このユーザー名はいつでも自由に変更可能です。

一方で「ID」は各ユーザーに一意につけられた整数で、私の場合は「1622901」。たとえばユーザータイムラインのフィードのURLで確認できたりします。APIのパラメーターでは「id」と表され、ユーザー名と違って変更不可能です。

このようにユーザー名は変更可能で、IDは変更不可能。そのためTwitter連携のアプリケーションでユーザーを管理するには、ユーザー名ではなくIDで管理をする必要があります。そうでないと一意にユーザーを識別できないからです。

ということをふまえて…

たとえばATNDTweetviteTwtviteのAPIでは、イベント参加者のTwitter情報をレスポンスに含めて返してくれるのですが、含まれる識別子は「ユーザー名」だけで、上で言うところの「ID」を含めてくれません。

先に述べたように「ユーザー名」はいつでも変更可能で、さらには他の人が過去に使っていたユーザー名を他の人が使うことも可能だったはず。なのでAPIから「ユーザー名」を返されてもそれが正しい情報とは限らないのです。

TwitterのAPIを利用して「ユーザー名」から「ID」を取得できたとしても、イベント登録時のユーザー名から変更が生じていれば、存在しないユーザーになっていたり、違うユーザーの情報が取得されたりする可能性があります。

なので、Twitterの情報をAPIで返す場合は、「ユーザー名」だけでなく「ID」も一緒に返してほしいなぁと思うわけです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など