Pages

Wednesday 22 May 2013

How TO Get Number of Facebook likes, Shares, Comments Count for URL or Website using jQuery in C# and VB Asp.Net

 How TO Get Number of Facebook likes, Shares, Comments Count for URL or Website using jQuery in C# C# and VB Asp.Net


Program:

.Aspx File

<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>

Aspx.cs

using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Net;
using System.Web.Services;


[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[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

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


 How TO Get Number of Facebook likes, Shares, Comments Count for URL or Website using jQuery in C# Asp.Net
 How TO Get Number of Facebook likes, Shares, Comments Count for URL or Website using jQuery in C# Asp.Net


No comments:

Post a Comment