2010-02-26 43 views

回答

1

您可能想查看Twitter API Documentation文档,其中包含search方法。

你的要求也搜索缩短的网址是好奇的,虽然 - 我明白你为什么要这样做,但我无法想象你如何相信它可能工作。由于Twitter本身并不包含短URL的扩展版本,因此无法使用Twitter搜索功能查找缩短的链接。而且由于你无法预测人们会使用哪些URL缩写,所以你无论如何都不知道该找什么。

+0

我同意缩短的URL问题。没有办法知道特定网址的缩短网址。 – 2010-02-26 15:47:35

+0

它之前可能没有,但Twitter搜索供稿现在保存了短URL的扩展版本。完整的URL可作为一个实体,请参阅entities/urls/[0]/expanded_url - https://dev.twitter.com/discussions/3719 – mvark 2012-06-06 06:23:57

+0

@mvark:很高兴知道,这绝对是新的(在两年的某个时间因为我写了答案!)。 – 2012-06-06 10:26:34

3

http://backtweets.com/

这种服务显然是能够跨越缩短网址进行查询..

+0

这是我发现的唯一找到我正在寻找的网址的地方。你知道他们是如何实现这一目标的?他们是否支付流水费并保留自己的商店?或者有什么方法通过API获取此信息?基本搜索方法都没有提取任何数据。 – 2011-08-24 19:58:24

0

我只想使用Twitter的键/ Word作为重点建议为您提交搜索。在我创建的JS小提琴中,您将看到我如何从趋势语言环境调用产生的趋势主题中提取“查询关键字”。我从当地的结果中获取雅虎WOEID,并使用该特定地理区域的本地趋势。在那里,趋势推文都有一个“查询字符串”,可以捕获并添加到Twitter搜索paramas对象,该对象将在该趋势本地内吐出关于该趋势主题的推文。我真的希望这会有所帮助,因为我把它写成了一个简单的Jquery。请享用。

嘿,伙计们,我把一个很好的JS小提琴放在一起,它应该回答你处理Twitter API时的所有问题。该Web应用抓取热门地区,并允许您深入探究趋势主题,然后查看其中的推文。

我还包括一个标准的Twitter搜索提交框,所以以一种奇怪的方式,这是一个准系统Tweetdeck客户端,供您检查。另外,为了推动新的Jquery库的适应性,我使用了1.91新的live.bind click事件语法的实用工具。

享受

http://jsfiddle.net/jdrefahl/5M3Gn/

function searchTwitter(query) { 
$.ajax({ 
    url: 'http://search.twitter.com/search.json?' + jQuery.param(query), 
    dataType: 'jsonp', 
    success: function (data) { 
     var tweets = $('#tweets'); 
     tweets.html(''); 
     for (res in data['results']) { 
      tweets.append('<div>' + data['results'][res]['from_user'] + ' wrote: <p>' + data['results'][res]['text'] + '</p></div><br />'); 
     } 
    } 
}); 

}

$(文件)。就绪(函数(){

function getTrendsByID(id) { 
    $.ajax({ 
     url: 'http://api.twitter.com/1/trends/' + id + '.json', 
     dataType: 'jsonp', 
     success: function (data) { 
      $.each(data[0].trends, function (i) { 
      }); 
     } 
    }); 
}; 

function getLocales() { 
    $.ajax({ 
     url: 'https://api.twitter.com/1/trends/available.json', 
     dataType: 'jsonp', 
     success: function (data) { 
      var locales = $('ul#locales'); 
      locales.html(''); 
      $.each(data, function (i) { 
       localeID[i] = data[i].woeid; 
       $('ul#locales').append('<li>' + data[i].name + '</li>'); 
      }); 
     } 
    }); 

}; 

function getTrends(id) { 
    $.ajax({ 
     url: 'https://api.twitter.com/1/trends/' + id + '.json', 
     dataType: 'jsonp', 
     success: function (data) { 
      var trends = $('ul#currentTrends'); 
      trends.html(''); 
      $.each(data[0].trends, function (i) { 
       $('ul#currentTrends').append('<li>' + data[0].trends[i].name + '</li>'); 
      }); 
     } 
    }); 
}; 

// Event Handlers 
$(document).on("click", "#locales li", function() { 
    var $this = $(this); 
    var localesHdr = $('#currentTrendsCont h3'); 
    var tweets = $('#tweets'); 
    var trendsHdr = $('#tweetsCont h3'); 
    trendsHdr.html(''); 
    tweets.html(''); 
    localesHdr.html(''); 
    $('#currentTrendsCont h3').html($this.text()); 
    getTrends(localeID[$this.index()]); 
}); 

$(document).on("click", "#currentTrends li", function() { 
    var $this = $(this); 
    var trendsHdr = $('#tweetsCont h3'); 
    trendsHdr.html(''); 
    $('#tweetsCont h3').html($this.text()); 
    var params = { 
     q: $this.text(), 
     rpp: 10 
    }; 
    searchTwitter(params); 
}); 

$('#submit').click(function() { 
    var trendsHdr = $('#tweetsCont h3'); 
    var trends = $('#currentTrends'); 
    var local = $('#currentTrendsCont h3'); 
    local.html(''); 
    trendsHdr.html(''); 
    trends.html(''); 
    $('#tweetsCont h3').html('search query: '+$('#query').val()); 
    var params = { 
     q: $('#query').val(), 
     rpp: 10 
    }; 
    searchTwitter(params); 
}); 

// Globals 
var localeID = new Array(); 

// Init! 
getLocales(); 

});

相关问题