Task: Get Latest Twitter Feed to our website.
Description: Now a days the social networking is vary popular and important for our online presence. All Online business also need to use it properly to make benefit from them. So just time to get twitter feed to your website. Here I describe the code for getting twitter latest feed for your website.
Code:
using System.Text.RegularExpressions;
// use this in your page_load method or anywhere...
//twitter_feed.InnerHtml = GetTwitterFeeds();
Description: Now a days the social networking is vary popular and important for our online presence. All Online business also need to use it properly to make benefit from them. So just time to get twitter feed to your website. Here I describe the code for getting twitter latest feed for your website.
Code:
<div id="twitter_feed" runat="server"></div>
using System.Text.RegularExpressions;
using
System.Runtime.Serialization.Json;
using
System.Web.Script.Serialization;
using
System.Net;
using System.Security.Cryptography;
using
System.Globalization;
//twitter_feed.InnerHtml = GetTwitterFeeds();
// unique request
public static string
GetTwitterFeeds()
{
var
oauth_token = "xxxxxxTOKEN-FROM-TWITTER-xxxxxxx";
var
oauth_token_secret = "xxxxxxTOKEN-SECRET-FROM-TWITTER-xxxxxxx";
var
oauth_consumer_key = "xxxxxxKEY-TWITTER-xxxxxxx";
var
oauth_consumer_secret = "xxxxxxSECRET-FROM-TWITTER-xxxxxxx";
var
screen_name = "TwitterScreenName";
var count =
2; // set count how many feeds you want to show here
// oauth
implementation details
var
oauth_version = "1.0";
var
oauth_signature_method = "HMAC-SHA1";
// unique request
details
var
oauth_nonce = Convert.ToBase64String(
new ASCIIEncoding().GetBytes(DateTime.Now.Ticks.ToString()));
var
timeSpan = DateTime.UtcNow
- new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
var
oauth_timestamp = Convert.ToInt64(timeSpan.TotalSeconds).ToString();
// message api
details
var
resource_url = "https://api.twitter.com/1.1/statuses/user_timeline.json";
// create oauth
signature
var
baseFormat = "count=" + count + "&oauth_consumer_key={0}&oauth_nonce={1}&oauth_signature_method={2}"
+
"&oauth_timestamp={3}&oauth_token={4}&oauth_version={5}&screen_name={6}";
var
baseString = string.Format(baseFormat,
oauth_consumer_key,
oauth_nonce,
oauth_signature_method,
oauth_timestamp,
oauth_token,
oauth_version,
Uri.EscapeDataString(screen_name)
);
baseString = string.Concat("GET&", Uri.EscapeDataString(resource_url),
"&", Uri.EscapeDataString(baseString));
var
compositeKey = string.Concat(Uri.EscapeDataString(oauth_consumer_secret),
"&", Uri.EscapeDataString(oauth_token_secret));
string
oauth_signature;
using (HMACSHA1 hasher = new
HMACSHA1(ASCIIEncoding.ASCII.GetBytes(compositeKey)))
{
oauth_signature = Convert.ToBase64String(
hasher.ComputeHash(ASCIIEncoding.ASCII.GetBytes(baseString)));
}
// create the
request header
var
headerFormat = "OAuth
oauth_nonce=\"{0}\", oauth_signature_method=\"{1}\", "
+
"oauth_timestamp=\"{2}\",
oauth_consumer_key=\"{3}\", " +
"oauth_token=\"{4}\",
oauth_signature=\"{5}\", " +
"oauth_version=\"{6}\"";
var
authHeader = string.Format(headerFormat,
Uri.EscapeDataString(oauth_nonce),
Uri.EscapeDataString(oauth_signature_method),
Uri.EscapeDataString(oauth_timestamp),
Uri.EscapeDataString(oauth_consumer_key),
Uri.EscapeDataString(oauth_token),
Uri.EscapeDataString(oauth_signature),
Uri.EscapeDataString(oauth_version)
);
// make the
request
ServicePointManager.Expect100Continue
= false;
var
postBody = "count=" + count + "&screen_name=" + Uri.EscapeDataString(screen_name);//
resource_url += "?"
+ postBody;
HttpWebRequest
request = (HttpWebRequest)WebRequest.Create(resource_url);
request.Headers.Add("Authorization", authHeader);
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
WebResponse
response = request.GetResponse();
string
responseData = new StreamReader(response.GetResponseStream()).ReadToEnd();
JavaScriptSerializer
serializer = new JavaScriptSerializer();
var result
= serializer.Deserialize<Tw[]>(responseData);
string str1
= "";
str1 = "";
foreach (var item in result)
{
str1 += "<div
id=\"twitter-container\" class='tfeed-text'>" +
ReplaceLinks(item.text) + " ";
DateTime
d = DateTime.ParseExact(item.created_at, "ddd MMM dd HH:mm:ss zzz yyyy", CultureInfo.InvariantCulture);
str1 += "<br/><a
target='_blank' rel='nofollow' href='http://twitter.com/" + Uri.EscapeDataString(screen_name) + "'>" + ToRelativeDate(d) + "</a></div><hr class='hrr3'>";
}
return
str1;
}
public static string
ToRelativeDate(DateTime dateTime)
{
var timeSpan
= DateTime.Now - dateTime;
if
(timeSpan <= TimeSpan.FromSeconds(60))
return string.Format("{0}
seconds ago", timeSpan.Seconds);
if
(timeSpan <= TimeSpan.FromMinutes(60))
return
timeSpan.Minutes > 1 ? String.Format(" {0} minutes ago", timeSpan.Minutes) : "about a minute ago";
if
(timeSpan <= TimeSpan.FromHours(24))
return
timeSpan.Hours > 1 ? String.Format(" {0} hours ago", timeSpan.Hours) : "about an hour ago";
// if (timeSpan
<= TimeSpan.FromDays(30))
return
timeSpan.Days > 1 ? String.Format(" {0} days ago", timeSpan.Days) : "1 day ago";
/* if (timeSpan
<= TimeSpan.FromDays(365))
return timeSpan.Days > 30 ?
String.Format("about {0} months ago", timeSpan.Days / 30) :
"about a month ago";
return timeSpan.Days > 365 ?
String.Format("about {0} years ago", timeSpan.Days / 365) :
"about a year ago";
*/
}
public class Tw
{
public string text;
public string created_at;
}
public static string
ReplaceLinks(string arg)
//Replaces web
and email addresses in text with hyperlinks
{
Regex
urlregex = new Regex(@"(^|[\n ])(?<url>(www|ftp)\.[^
,""\s<]*)", RegexOptions.IgnoreCase
| RegexOptions.Compiled);
arg = urlregex.Replace(arg, " <a href=\"http://${url}\"
target=\"_blank\">${url}</a>");
Regex
httpurlregex = new Regex(@"(^|[\n
])(?<url>(http://www\.|http://|https://)[^ ,""\s<]*)",
RegexOptions.IgnoreCase | RegexOptions.Compiled);
arg = httpurlregex.Replace(arg, " <a href=\"${url}\"
target=\"_blank\">${url}</a>");
Regex
emailregex = new Regex(@"(?<url>[a-zA-Z_0-9.-]+\@[a-zA-Z_0-9.-]+\.\w+\s)",
RegexOptions.IgnoreCase | RegexOptions.Compiled);
arg = emailregex.Replace(arg, " <a href=\"mailto:${url}\">${url}</a>
");
return arg;
}
No comments:
Post a Comment