验证没有身份验证的Twitter帐户

时间:2012-10-23 10:48:27

标签: javascript jquery ajax twitter

我的网络应用以前使用以下功能检查是否存在推特帐号:

var checkTwitter = function(username){

     $.ajax({
      url: 'http://twitter.com/statuses/user_timeline.json?screen_name='+username+'&count=1&suppress_response_codes=true&callback=?',
      dataType: 'json',
      success: function(data, success){
      if(data.error){
                  //gone bad code
      } else {
                  //gone good code

      }
}});
  }

已经愉快地工作了一两个月。现在url返回:

{"error":"Not found","request":"\/statuses\/user_timeline.json?screen_name=mildfuzz&count=1&suppress_response_codes=true&callback=?"}

检查我自己的推特账户时(@mildfuzz)。

出了什么问题?

3 个答案:

答案 0 :(得分:1)

Twitter最近改变了他们的API规则,也许是因为它?

尝试更改为https。

根据Twitter Dev使用HTTPS

您必须拥有身份验证context

https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=twitterapi&count=2

答案 1 :(得分:1)

您还应将成功功能更改为:

if(data="[]" || data.error || data.errors){
      //gone bad code
} else {
      //gone good code
}

错误(未经授权时):https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=test&count=2

错误(当用户不存在时):https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=qsdsqdq&count=2

此外,当用户不存在时,它可以返回一个空数组(虽然我不知道为什么):https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=dsf&count=2

答案 2 :(得分:0)

https://dev.twitter.com/docs/api/1/get/users/lookup 这个链接修复了它。 Twitter现在具有简单查找用户的功能,不需要身份验证。