我一直在尝试使用Twitter API,因为我想在一个特殊的页面上显示几个推文列表。
其中之一是包含特定标签(例如#test)的所有推文列表。
然而,我无法找到如何以XML或JSON格式(最好是后者)获取该列表的方法。有人知道吗?如果可以在TweetSharp中完成也可以。
其中之一是包含特定标签(例如#test)的所有推文列表。
然而,我无法找到如何以XML或JSON格式(最好是后者)获取该列表的方法。有人知道吗?如果可以在TweetSharp中完成也可以。
http://search.twitter.com/search.json?q=%23test
来获取包含#test
的推文列表,其中%23test
是#test
的URL编码。search
命令可用于搜索#test
,然后自己将结果转换为JSON。首先使用Github安装TweetSharp:https://github.com/danielcrenna/tweetsharp
以下是进行搜索的代码:
TwitterService service = new TwitterService();
var tweets = service.Search("#Test", 100);
List<TwitterSearchStatus> resultList = new List<TwitterSearchStatus>(tweets.Statuses);
service.Search("#Test", i += 1, 100);
最近几个月API似乎有所变化。这里是更新后的代码:
TwitterSearchResult res = twitter.Search(new SearchOptions { Q = "xbox" });
IEnumerable<TwitterStatus> status = res.Statuses;
string maxid = "1000000000000"; // dummy value
int tweetcount = 0;
if (maxid != null)
{
var tweets_search = twitterService.Search(new SearchOptions { Q = keyword, Count = Convert.ToInt32(count) });
List<TwitterStatus> resultList = new List<TwitterStatus>(tweets_search.Statuses);
maxid = resultList.Last().IdStr;
foreach (var tweet in tweets_search.Statuses)
{
try
{
ResultSearch.Add(new KeyValuePair<String, String>(tweet.Id.ToString(), tweet.Text));
tweetcount++;
}
catch { }
}
while (maxid != null && tweetcount < Convert.ToInt32(count))
{
maxid = resultList.Last().IdStr;
tweets_search = twitterService.Search(new SearchOptions { Q = keyword, Count = Convert.ToInt32(count), MaxId = Convert.ToInt64(maxid) });
resultList = new List<TwitterStatus>(tweets_search.Statuses);
foreach (var tweet in tweets_search.Statuses)
{
try
{
ResultSearch.Add(new KeyValuePair<String, String>(tweet.Id.ToString(), tweet.Text));
tweetcount++;
}
catch { }
}
}
使用此 URL 进行推文搜索。但是您必须使用 OAuth 协议。
https://api.twitter.com/1.1/search/tweets.json?q=%40twitterapi