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 json jQuery in asp.net using C# and VB.NET.
Description:
In previous articles I explained Add multiple markers to google maps using JSON jQuery, jQuery UI autocomplete textbox with database, jQuery Increase or Decrease font size of website, Redirect to another page after some time delay 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 json jQuery in asp.net.
In previous articles I explained Add multiple markers to google maps using JSON jQuery, jQuery UI autocomplete textbox with database, jQuery Increase or Decrease font size of website, Redirect to another page after some time delay 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 json 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;
}
}
}
|
VB.NET Code:
Imports System.Collections.Generic
Imports System.Data
Imports System.IO
Imports System.Net
Imports System.Web.Services
''' <summary>
''' Summary description for
AutoCompleteService
''' </summary>
' To allow this Web Service to be
called from script, using ASP.NET AJAX, uncomment the following line.
<WebService([Namespace]:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)>
_
<System.Web.Script.Services.ScriptService()>
_
Public Class
WebService2
Inherits System.Web.Services.WebService
<WebMethod()> _
Public Function
BindDatatable(ByVal urltxt As String) As UrlDetails()
Dim details As New List(Of
UrlDetails)()
Dim web As New WebClient()
Dim url As String = 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 & "'")
Dim response As String = web.DownloadString(url)
Dim ds As New DataSet()
Using stringReader As
New StringReader(response)
ds = New
DataSet()
ds.ReadXml(stringReader)
End Using
Dim dt As DataTable =
ds.Tables("link_stat")
For Each dtrow As DataRow In
dt.Rows
Dim website As 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)
Next
Return details.ToArray()
End Function
Public Class
UrlDetails
Public Property
Url() As String
Get
Return m_Url
End Get
Set(ByVal value As String)
m_Url = value
End Set
End Property
Private m_Url As String
Public Property
SharedCount() As String
Get
Return m_SharedCount
End Get
Set(ByVal value As String)
m_SharedCount = value
End Set
End Property
Private m_SharedCount As
String
Public Property
LikeCount() As String
Get
Return m_LikeCount
End Get
Set(ByVal value As String)
m_LikeCount = value
End Set
End Property
Private m_LikeCount As
String
Public Property
CommentCount() As String
Get
Return m_CommentCount
End Get
Set(ByVal value As String)
m_CommentCount = value
End Set
End Property
Private m_CommentCount As
String
Public Property
ClickCount() As String
Get
Return m_ClickCount
End Get
Set(ByVal value As String)
m_ClickCount = value
End Set
End Property
Private m_ClickCount As
String
Public Property
TotalCount() As String
Get
Return m_TotalCount
End Get
Set(ByVal value As String)
m_TotalCount = value
End Set
End Property
Private m_TotalCount As
String
End Class
End Class
|
Demo
In case if you want to use this to count of multiple
urls you need to replace url in webservice like as shown below
Download
sample code attached
If you enjoyed this post, please support the blog below. It's FREE! Get the latest Asp.net, C#.net, VB.NET, jQuery, Plugins & Code Snippets for FREE by subscribing to our Facebook, Twitter, RSS feed, or by email. |
|||
|
|||
30 comments :
hiiii,suresh sir......):
I have three user Admin,Distributor and consumer..............
how could I redirect the page to repective users.
and your r giving 3-Tier architecture
in this example which database table r u created.........plz maintaion
in comments
i understand this example but which db table r u created i don't
understand..
how to redirect the page to repective users & how can i do setting this in web.config file........
plz give registration page And Login page with database tables in 3 tire architecture.....
plz...plz...plz..........):
Check these articles for create roles and everything http://www.aspdotnet-suresh.com/search/label/Membership
Is there any code in asp.net to copy a text box code to clipboard for pasting another place ??
If Possible than Reply At pdprateek08@gmail.com
Thanks !!!
Nice article but sample code is NOT attached. Can you fix this please, thanks. :)
Sample Code attached please check it once...
nice sirrrr..
Thanx suresh sir.........
4 giving articles for create roles ......)
thanx.....so much
this facebook shsres, likes count article not working for me, its showes error, Internal server error, what i need to do before i run this task.
@Anil Kumar Reddy....
please check whether you have internet connection or not because dynamically we are getting contact details from facebook for that reason internet connection is necessary...
im getting the wrong count, for ex this url "manzoorthetrainer.com in facebook has 773 likes 64 comments but im getting the count as 105 count and 130 comments
im getting the wrong count, for ex this url "manzoorthetrainer.com" in facebook has around 773 likes and 64 comments but im getting the count as
ur page on facebook has 4373 likes but with this we are getting only 152 likes count
@Aditya kumar...
4373 likes is my facebook page likes count not url count. 153 likes count is my website url count....
sorrry to ask but, wat is url like and how is it different from facebook page like, if i want to like the url of this page, where should i click?
also do u have any idea or source code for integrating asp.net website with facebook, like i should be able to post to my facebook wall from my asp.net website or some thing that makes me to interact with facebook from my asp.net page?
when i run the code it generates only html table header and shows "Error" in alert box, what can be the cause behind it ??
i want to know Multilingual web applications and how it is work...
Its simply great piece of information, I was really unaware of such information. I would really like to know some more information regarding same.
it's showing the count on my development machine but not on the server. any idea please.
Hi I want all comment not the comment count of facebook page.
Facebook to tame j hack kri nakhyu...
Hve url pr thi username & password pn aapi do.
Hi,,,, i have small doubt .... How its returning the count while entering the url of our website ???
is this code gives how many likes i got for my face book page or ?
suresh sir can u help me about post message on facebook wall using windows service(means schedule post).
Hello, nice article. I am able to implement this but could you please tell me how to get LinkedIn stats as well? I mean a table which shows both facebook and linkedin stats for a url
Hello, can you provide the updated version of the code as per the latest API used. Also i want to update the number of likes in facebook from my application. Suggest me how to achieve the same using .NET.
sir this code is not work because facebook block this api .plz sir guide me how its work for this time
hi suresh ...i got this error ..plz help me..
12
REST API is deprecated for versions v2.1 and higher (12)
method
fql.query
query
SELECT url, share_count, like_count, comment_count, total_count, click_count FROM link_stat where url='https://www.facebook.com/1454392811314777/'
hi ...my code...
string urltxt = "https://www.facebook.com/1454392811314777/";
string url3 = 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(url3);
DataSet ds = new DataSet();
using (StringReader stringReader = new StringReader(response))
{
ds = new DataSet();
ds.ReadXml(stringReader);
}
DataTable dt = ds.Tables["link_stat"];
List details = new List();
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);
}
plz any one help ...how can i fetch data from facebook page like,shares,comments in c#
Note: Only a member of this blog may post a comment.