ネットサービスとかGoogleとか豆知識とか。

Index > Twitter(ツイッター) > Twitterの情報をAPIで返す場合は「ユーザー名」だけでなく「ID」も一緒に返してほしい
Twitter(ツイッター)
2010年11月09日 13:21

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

  • このエントリーをはてなブックマークに追加
  • ... PV
スポンサード リンク

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」も一緒に返してほしいなぁと思うわけです。