0

我的网络应用程序之前使用以下函数来检查 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

      }
}});
  }

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

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

检查我自己的 Twitter 帐户 (@mildfuzz) 时。

出了什么问题?

4

3 回答 3

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

于 2012-10-23T10:59:09.657 回答
1

Twitter 最近更改了他们的 API 规则,也许是因为这样?

换成https试试。

根据Twitter Dev使用 HTTPS

而且您必须有一个身份验证上下文

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

于 2012-10-23T10:50:32.597 回答
0

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

于 2012-10-23T12:07:20.567 回答