检查是否存在推特用户名

tar*_*eld 14 authentication twitter oauth exists

有没有办法检查是否存在推特用户名?没有通过OAuth或twitter基本身份验证进行身份验证?

Tho*_*hom 25

截至目前,您最好使用注册表单用于实时检查用户名可用性的API.请求的格式为:

https://twitter.com/users/username_available?username=whatever
Run Code Online (Sandbox Code Playgroud)

valid如果用户名可以注册,那么给你一个带有密钥的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!"}
Run Code Online (Sandbox Code Playgroud)

这比检查404响应更好的原因是有时会保留单词(如上面的"root"),或实际使用用户名,但由于某种原因,该帐户已从Twitter前端消失.

  • 自 2021 年起,“/users/username_available”端点不再可用 (3认同)
  • 此解决方案的唯一问题是您尝试调用的端点未记录且不受支持,并且您的应用程序将面临被阻止的危险. (2认同)

小智 6

您还可以将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>
Run Code Online (Sandbox Code Playgroud)

或者如果不存在:

<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <request>/1/users/show.xml?screen_name=tarnfeldezf</request>
  <error>Not found</error>
</hash>
Run Code Online (Sandbox Code Playgroud)

  • 我认为 JSON URL 适用于 1.1 API:**https://api.twitter.com/1.1/users/show.json?screen_name=username**,但应该与身份验证一起使用 (2认同)

小智 0

更新:此 API 自 2012 年起不再可用。

根据 api 文档,您可以将电子邮件地址传递给 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
Run Code Online (Sandbox Code Playgroud)

  • 问题是我没有他们的电子邮件地址。 (3认同)
  • Twitter API 不再支持通过电子邮件地址查找。 (3认同)