【问题标题】:Twitter search API doesn't return tweets if name contains numbers如果名称包含数字,Twitter 搜索 API 不会返回推文
【发布时间】:2012-05-16 21:12:13
【问题描述】:

我正在尝试获取将包含特定句柄的推文的 JSON 对象。

这是我用来发送请求并将响应存储在本地存储中的函数:

function sendRequest(handle, noOfTweets, boolDisplay){
        $.getJSON("http://search.twitter.com/search.json?q=from:"+handle+"&rpp="+noOfTweets+"&callback=?", function(data) {
        if(boolDisplay){
            displayTweets(data);
        }
        localStorage.setItem("tweets"+handle, JSON.stringify(data));
      });
}

如果用户名不包含数字,我会收到包含用户推文的回复。 如果句柄包含任何数字,则不会返回任何推文。

我已经尝试过直接使用地址栏来处理相同的请求。

例如: (以下是句柄名称)

  • ndtv 作品
  • 你的作品
  • pranavjain64(我的句柄)不起作用
  • CNBCTV18news 不起作用

请帮忙!!

【问题讨论】:

  • 来自Search API,没有from:这样的字段,你为什么用它?
  • 正在使用此处示例中的代码:link
  • 您使用的示例已超过 2 年!从那时起,API 发生了很大变化......
  • @balexandre, from: 不是请求的参数。是查询搜索运算符。 dev.twitter.com/docs/using-search
  • @AndrewD。感谢指出,不知道那部分:)

标签: javascript html twitter


【解决方案1】:

你会想要使用状态 api 而不是在这里搜索。

 function sendRequest(handle, noOfTweets, boolDisplay){
        $.getJSON("http://api.twitter.com/1/statuses/user_timeline.json?screen_name="+ handle + "&count=" + noOfTweets + "&c
allback=?", function(data) {
        if(boolDisplay){
            displayTweets(data);
        }
        localStorage.setItem("tweets"+handle, JSON.stringify(data));
      });
  }

https://dev.twitter.com/docs/api/1/get/statuses/user_timeline

【讨论】:

  • 因为是推荐的,但我相信是可选的。另外 - 这不会是一个直接修复,因为返回的数据具有不同的结构,但希望更改不会太痛苦。
  • 其实应该是since_id和max_id,但都不是必须的,所以我把它们从我的回答中去掉了。
  • 谢谢.. 将输入我的代码并检查。很抱歉听起来很懒,但是请您简要说明一下搜索和状态 api 之间的区别吗?
  • 有很多不同,但一般来说:搜索是针对给定主题的一组最近的推文,而状态界面将返回一组来自特定用户的公开推文。搜索有更多限制,最大的限制是只能追溯到一周左右。
  • 嘿,我尝试使用状态 api,但无法解析其结果。
猜你喜欢
  • 2017-10-29
  • 2023-01-17
  • 2018-09-15
  • 1970-01-01
  • 2018-09-23
  • 2020-08-19
  • 1970-01-01
  • 1970-01-01
  • 2016-09-19
相关资源
最近更新 更多