21

Twitterのユーザー名が存在するかどうかを確認する方法はありますか? OAuthやtwitterベーシック認証で認証されずに?

4

10 に答える 10

28

2021 年更新: この API は利用できません。

現時点では、サインアップ フォームがユーザー名の可用性をリアルタイムで確認するために使用する API を使用することをお勧めします。リクエストの形式は次のとおりです。

https://twitter.com/users/username_available?username=whatever

validそして、ユーザー名を登録できる場合は true を返すキーを含む JSON 応答を返します。

{"valid":false,"reason":"taken","msg":"Username has already been taken","desc":"That username has been taken. Please choose another."}
{"valid":true,"reason":"available","msg":"Available!","desc":"Available!"}
{"valid":false,"reason":"is_banned_word","msg":"Username is unavailable","desc":"The username \"root\" is unavailable. Sorry!"}

これが 404 応答をチェックするよりも優れている理由は、単語が予約されている場合がある (上記の「root」など) か、実際にはユーザー名が使用されているが、何らかの理由でアカウントが Twitter フロントエンドから削除されているためです。

于 2014-06-12T13:26:03.663 に答える
7

アップデート

Twitter REST API v1 はアクティブではなくなりました。

したがって、 https://api.twitter.com/1.1/users/show.json?screen_name=usernameを使用します。


username で API を使用することもできます。

http://api.twitter.com/1/users/show.xml?screen_name=tarnfeld

あなたに与えます:

<?xml version="1.0" encoding="UTF-8"?>
<user>
  ...................
  <screen_name>tarnfeld</screen_name>
  <location>Portsmouth, UK</location>
  .................
  </status>
</user>

または存在しない場合:

<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <request>/1/users/show.xml?screen_name=tarnfeldezf</request>
  <error>Not found</error>
</hash>
于 2010-05-16T20:36:35.177 に答える
3

PHP での動作は次のとおりです。

$user_infos = 'http://api.twitter.com/1/users/show.xml?screen_name='.$username;

if (!@fopen($user_infos, 'r'))
{
return false;
}
return true;
于 2010-08-15T00:06:01.983 に答える
2

これは、sferikが投稿したものに近い、私にとってはうまくいきました。

def twitter_user_exists?(user)
   Twitter.user(user)
   true
rescue Twitter::Error::NotFound
   false
end
于 2012-08-16T20:43:12.677 に答える
1

http://twitter.com/usernameページを取得して応答を読んで、「申し訳ありませんが、そのページは存在しません!」というメッセージが表示されるかどうかを確認できます。ページ。

編集:

@Pablo Fernandez がコメントで述べたように、ユーザーが存在しない場合は "404 not-found" となる応答ヘッダーを確認する方が (より速く、より信頼性が高く) なります。

于 2010-05-16T20:02:00.630 に答える
1

Ruby を使用すると、twitter gem をインストールしてから、次のメソッドを定義できます。

require 'twitter'

def user_exists?(user)
  Twitter.user(user)
  true
rescue Twitter::NotFound
  false
end

次に、次のように、Twitter のユーザー名または ID をメソッドに渡すだけです。

user_exists?("sferik") #=> true
user_exists?(7505382) #=> true
于 2011-05-25T16:30:43.190 に答える
0

更新: この API は 2012 年から利用できません。

api docs によると、メール アドレスを user/show メソッドに渡すことができます。ユーザーが存在しない場合は 404 が返され、ユーザーが存在するかどうかを判断できると思います。

例: http://twitter.com/users/show.xml?email=t...@example.com

存在しない場合の結果:

<?xml version="1.0" encoding="UTF-8"?> 
<hash> 
  <request>/users/show.xml?email=tur...@example.com</request> 
  <error>Not found</error> 
</hash
于 2010-05-16T20:01:05.047 に答える