Introduction:
Here I will explain how to get number of facebook likes count for url, get number of facebook shares count for url, get number of facebook comments count for url and number of facebook click count for url or website using jQuery in asp.net using C#.
Description:
In previous articles I explained jQuery Get Set Text to Label or How to Get / Set Label Text in jQuery , jQuery Get Access Session Variable Value in Asp.net
In previous articles I explained jQuery Get Set Text to Label or How to Get / Set Label Text in jQuery , jQuery Get Access Session Variable Value in Asp.net
and many articles relating to JQuery and asp.net. Now I will
explain how
to get number facebook likes for url,
number of facebook shares count, number
of facebook comments count and
number of facebook clicks count for url
using jQuery in asp.net.
To
implement this functionality we need to write the code like as shown below
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Get facebook shares, comments, likes count of urls</title>
<script type="text/javascript"
src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$('#btnurl').click(function() {
var url = $('#txturl').val();
document.getElementById('tbDetails').style.display
= 'block';
$.ajax({
type: "POST",
url: "WebService.asmx/BindDatatable",
data: "{urltxt:'"
+ url + "'}",
contentType: "application/json;
charset=utf-8",
dataType: "json",
success: function(data) {
for (var i = 0; i < data.d.length; i++) {
$("#tbDetails").append("<tr><td>" + data.d[i].Url
+ "</td><td>" +
data.d[i].SharedCount + "</td><td>"
+ data.d[i].LikeCount + "</td><td>"
+ data.d[i].CommentCount + "</td><td>"
+ data.d[i].ClickCount + "</td><td>"
+ data.d[i].TotalCount + "</td></tr>");
}
},
error: function(result) {
alert("Error");
}
});
});
});
</script>
</head>
<body>
<form id="form1"
runat="server">
<div>
<table>
<tr>
<td><b>Enter
Url:</b></td>
<td><input type="text" id="txturl"
/> </td>
</tr>
<tr>
<td></td>
<td><input type="button" id="btnurl"
value="Get Url
Count" /> </td>
</tr>
</table>
</div>
<div>
<table id="tbDetails"
cellpadding="1"
cellspacing="1"
style="border:solid 1px #000000; display:none">
<thead style="background-color:#DC5807;
color:White; font-weight:bold">
<tr>
<td>URL</td>
<td>Shared Count</td>
<td>Likes Count</td>
<td>Comments Count</td>
<td>Clicks Count</td>
<td>Total Count</td>
</tr>
</thead>
</table>
</div>
</form>
</body>
</html>
|
If
you observe above code in header section I mentioned url field as “WebService.asmx/BindDatatable” this mean we are calling BindDatatable
method from WebService.asmx webservice.
To creat this webservice right click on
your application >> Select Add New Item >> select Web
Service >> click OK
Once
webservice created open code behind file and write the following code
C#
Code
using
System.Collections.Generic;
using System.Data;
using System.IO;
using System.Net;
using System.Web.Services;
/// <summary>
/// Summary description for
AutoCompleteService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo
= WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from
script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class WebService :
System.Web.Services.WebService {
[WebMethod]
public UrlDetails[] BindDatatable(string
urltxt)
{
List<UrlDetails> details = new List<UrlDetails>();
WebClient web = new WebClient();
string url = string.Format("https://api.facebook.com/method/fql.query?query=SELECT
url, share_count, like_count, comment_count, total_count, click_count FROM
link_stat where url='" + urltxt + "'");
string response =
web.DownloadString(url);
DataSet ds = new DataSet();
using (StringReader stringReader = new StringReader(response))
{
ds=new DataSet();
ds.ReadXml(stringReader);
}
DataTable dt = ds.Tables["link_stat"];
foreach (DataRow dtrow in
dt.Rows)
{
UrlDetails website = new UrlDetails();
website.Url = dtrow["url"].ToString();
website.LikeCount = dtrow["like_count"].ToString();
website.SharedCount = dtrow["share_count"].ToString();
website.CommentCount = dtrow["comment_count"].ToString();
website.ClickCount = dtrow["click_count"].ToString();
website.TotalCount = dtrow["total_count"].ToString();
details.Add(website);
}
return details.ToArray();
}
public class UrlDetails
{
public string Url { get; set; }
public string SharedCount { get; set; }
public string LikeCount { get; set; }
public string CommentCount { get; set; }
public string ClickCount { get; set; }
public string TotalCount { get; set; }
}
}
|
0 comments :
Post a Comment