jQuery Get Number of Facebook likes, Shares, Comments using asp.net
Asp.net interview question and answer for fresher, C#.Net, dotnet interview question with answer for exp.
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.
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:
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.
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
No comments:
Post a Comment