Tweetsharp Twitter Search for .NET
If you are a regular reader you can skip this post now. If however, you are someone searching Google for hours about using Tweetsharp Twitter Search, you've come to the right place.
Here is the easy simple way to use the amazing Twitter Search capabilities of TweetSharp.
1. You must be using ASP.NET 3.5
2. Make a class in App Code called TwitterCS or something like that and include the Tweetsharp libraries:
using System;
using System.Collections.Generic;
using System.Linq;
using Dimebrain.TweetSharp.Fluent;
using Dimebrain.TweetSharp.Model;
using Dimebrain.TweetSharp.Extensions;
///
/// Summary description for TwitterCS
///
public class TwitterCS
{
public TwitterCS()
{
//
// TODO: Add constructor logic here
//
}
public static List TwitterSearch(string query, Int64 sinceid, int numresults)
{
Dimebrain.TweetSharp.TwitterClientInfo clientinfo = new Dimebrain.TweetSharp.TwitterClientInfo();
clientinfo.ClientName = "YourClientName";
var twitter = FluentTwitter.CreateRequest().Search().Query().Take(numresults).Containing(query).Since(sinceid).AsJson();
var response = twitter.Request();
// Convert response to data classes
var searchresults = response.AsSearchResult();
return searchresults.Statuses;
}
}
3. Now you have a List of type tweet that you can easily iterate through. For example here I am converting the list to a datatable and binding it to a gridView (don't forget to include the Tweetsharp libraries on this page as well).
And there you have it. Happy coding and your welcome :)
Dim StatusTable As Data.DataTable = New Data.DataTable("StatusTable")
StatusTable.Columns.Add("UserName")
StatusTable.Columns.Add("ProfileImage")
StatusTable.Columns.Add("Status")
StatusTable.Columns.Add("StatusDate")
StatusTable.Columns.Add("StatusType")
StatusTable.Columns.Add("StatusID")
For Each T As TwitterSearchStatus In TwitterSearch.TwitterSearch("BlogFrog", 0, 10)
Dim StatusRow As Data.DataRow = StatusTable.NewRow()
StatusRow("UserName") = T.FromUserScreenName
StatusRow("ProfileImage") = T.ProfileImageUrl
StatusRow("Status") = HttpUtility.HtmlDecode(T.Text)
StatusRow("StatusDate") = DateTimeOffset.Parse(T.CreatedDate).UtcDateTime
StatusRow("StatusID") = T.Id
StatusRow("StatusType") = "REPLY"
StatusTable.Rows.Add(StatusRow)
Next T
twitter_gridview.DataSource = StatusTable
twitter_gridview.DataBind()
