Существует ли способ проверить, существует ли имя пользователя Твиттера? Не аутентифицируясь с OAuth или стандартной аутентификацией Твиттера?
Согласно документации api вы можете передать адрес электронной почты в метод user/ show method, я бы предположил, что если пользователь не существует, вы получите в ответ 404, что должно позволить вам определить, существует ли пользователь. существует.
eg: http://twitter.com/users/show.xml?email=t...@example.com
result if not exist :
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<request>/users/show.xml?email=tur...@example.com</request>
<error>Not found</error>
</hash
Вы также можете использовать 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>
Вы можете попробовать захватить страницу http://twitter.com/username
и прочитать ответ, чтобы увидеть, получите ли вы страницу "Sorry, that page doesn't exist!".
Как упомянул @Pablo Fernandez в комментарии, будет лучше (быстрее, надежнее) проверить заголовок ответа, который будет "404 not-found", если пользователь не существует.
Вот как это работает на PHP:
$user_infos = 'http://api.twitter.com/1/users/show.xml?screen_name='.$username;
if (!@fopen($user_infos, 'r'))
{
return false;
}
return true;