una texto sociales redes publicacion poner para pagina link enlaces enlace ejemplos dirección cualquier crear compartir como facebook twitter linkedin social-media

texto - Facebook, Twitter, LinkedIn, compartir el conteo de enlaces



enlaces para compartir en redes sociales (5)

¿Hay alguna manera de conseguir que el número de usuarios comparta algún enlace en Facebook, Twitter, LinkedIn?

ejemplo: cuántas veces se compartió algún enlace en Facebook, Twitter, LinkedIn para calcular la popularidad de algunos contenidos.

¿Cómo obtener compartir? ¿Cuenta mi api particular? Hay alguna otra opción ? ¿Hay alguna API?


¡¡Encontré la respuesta ... !!!!!!!

URL de datos Aquí es donde puede encontrar los datos

Facebook http://graph.facebook.com/?ids=YOURURL Twitter http://urls.api.twitter.com/1/urls/count.json?url=YOURURL Google https://clients6.google.com/rpc [see below for JSON-RPC]

Nota : Dado que estoy usando "dinámico", esto requiere .NET 4.0. Además, estoy usando la clase JavaScriptSerializer que está oficialmente depreciada, pero probablemente no se eliminará. También podría usar fácilmente Regex para obtener estos valores simples. *

int GetTweets(string url) { string jsonString = new System.Net.WebClient().DownloadString("http://urls.api.twitter.com/1/urls/count.json?url=" + url); var json = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(jsonString); int count = (int)json["count"]; return count; } int GetLikes(string url) { string jsonString = new System.Net.WebClient().DownloadString("http://graph.facebook.com/?ids=" + url); var json = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(jsonString); int count = json[url]["shares"]; return count; } int GetPlusOnes(string url) { string googleApiUrl = "https://clients6.google.com/rpc"; //?key=AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ"; string postData = @"[{""method"":""pos.plusones.get"",""id"":""p"",""params"":{""nolog"":true,""id"":""" + url + @""",""source"":""widget"",""userId"":""@viewer"",""groupId"":""@self""},""jsonrpc"":""2.0"",""key"":""p"",""apiVersion"":""v1""}]"; System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(googleApiUrl); request.Method = "POST"; request.ContentType = "application/json-rpc"; request.ContentLength = postData.Length; System.IO.Stream writeStream = request.GetRequestStream(); UTF8Encoding encoding = new UTF8Encoding(); byte[] bytes = encoding.GetBytes(postData); writeStream.Write(bytes, 0, bytes.Length); writeStream.Close(); System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse(); System.IO.Stream responseStream = response.GetResponseStream(); System.IO.StreamReader readStream = new System.IO.StreamReader(responseStream, Encoding.UTF8); string jsonString = readStream.ReadToEnd(); readStream.Close(); responseStream.Close(); response.Close(); var json = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(jsonString); int count = Int32.Parse(json[0]["result"]["metadata"]["globalCounts"]["count"].ToString().Replace(".0", "")); return count;}


Esta clase de Javascript te permitirá buscar información de Facebook, Twitter y LinkedIn.

Ejemplo de uso

<p>Facebook count: <span id="facebook_count"></span>.</p> <p>Twitter count: <span id="twitter_count"></span>.</p> <p>LinkedIn count: <span id="linkedin_count"></span>.</p> <script type="text/javascript"> var smStats=new SocialMediaStats(''https://google.com/''); // Replace with your desired URL smStats.facebookCount(''facebook_count''); // ''facebook_count'' refers to the ID of the HTML tag where the result will be placed. smStats.twitterCount(''twitter_count''); smStats.linkedinCount(''linkedin_count''); </script>

Descargar

https://404it.no/js/blog/SocialMediaStats.js

Agregue al encabezado HTML de esta manera:

<script type="text/javascript" src="SocialMediaStats.js"></script>

Más ejemplos y documentación

Clase de Javascript para obtener acciones de URL en Facebook, Twitter y LinkedIn



Esta función obtendrá conteos de acciones de Facebook, g-plus, linkedin, pinterest

function social_share_counts($pageurl) { //facebook $fb_data = file_get_contents(''http://graph.facebook.com/''.$pageurl); $fb_json = json_decode($fb_data,TRUE); if(count($fb_json) > 1){ $facebook_shares = $fb_json[''shares'']; } else{ $facebook_shares = 0; } //facebook //google $curl = curl_init(); curl_setopt( $curl, CURLOPT_URL, "https://clients6.google.com/rpc" ); curl_setopt( $curl, CURLOPT_POST, 1 ); curl_setopt( $curl, CURLOPT_POSTFIELDS, ''[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"'' . $pageurl . ''","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]'' ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $curl, CURLOPT_HTTPHEADER, array( ''Content-type: application/json'' ) ); $curl_results = curl_exec( $curl ); curl_close( $curl ); $google_json = json_decode( $curl_results, true ); $google_shares = intval( $google_json[0][''result''][''metadata''][''globalCounts''][''count''] ); //google //linkedin $linkedin_data = file_get_contents(''https://www.linkedin.com/countserv/count/share?format=json&url=''.$pageurl); $linkedin_json = json_decode($linkedin_data); $linkedin_shares = $linkedin_json->count; //linkedin //pinterest $pinterest_data = file_get_contents(''http://api.pinterest.com/v1/urls/count.json?callback=sharecount&url=''.$pageurl); preg_match(''/"count":(/d*).+$/'',$pinterest_data,$match); $pinterest_shares = $match[1]; //pinterest return array("facebook"=>$facebook_shares,"google"=>$google_shares,"linkedin"=>$linkedin_shares,"pinterest"=>$pinterest_shares); } //now check-> $share_cnts = social_share_counts(''https://www.facebook.com''); echo $share_cnts[''facebook''];


Actualizar

Desafortunadamente, el conteo de Twitter es imposible con API 1.1

Ref: intgr/(number) es el número de intgr/(number) compartidos y todas las respuestas están en JSON

Facebook

http://graph.facebook.com/?id=http://{URL}

Devoluciones:

{ "id": "http://{URL}", "shares": intgr/(number) }

Gorjeo

http://cdn.api.twitter.com/1/urls/count.json?url=http://{URL}

Devoluciones:

{ "count": intgr/(number) "url":"http:////{URL}//" }

v1.1 actualización

Versión 1.1 de Twitter API que no admite count.json . Por lo tanto, no será posible retirar los conteos de tweets. Sin embargo, descubrí que los botones Tweet utilizan un punto final personalizado para obtener estos números.

Aquí está el nuevo punto final

https://cdn.syndication.twitter.com/widgets/tweetbutton/count.json?url={URL}

No estoy seguro de si Twitter tomará este punto final y lo reemplazará cuando cierren oficialmente v 1.0, pero funciona.

LinkedIn

http://www.linkedin.com/countserv/count/share?url=http://{URL&format=json

Devoluciones:

{ "count": intgr/(number), "fCnt": "intgr/(number)", "fCntPlusOne":"intgr/(number) + 1", // increased by one "url":"http:////{URL}" }

Hacer que las acciones cuenten con jQuery

Ref: para Twitter y linkdIn tuve que agregar callback de callback para obtener una respuesta

HTML:

<p id="facebook-count"></p> <p id="twitter-count"></p> <p id="linkdin-count"></p>

JS:

$(''#getJSON'').click( function () { $(''#data-tab'').fadeOut(); $URL = $(''#urlInput'').val(); // Facebook Shares Count $.getJSON( ''http://graph.facebook.com/?id='' + $URL, function( fbdata ) { $(''#facebook-count'').text( ''The URL has '' + ReplaceNumberWithCommas(fbdata.shares) + '' shares count on Facebook'') }); // Twitter Shares Count $.getJSON( ''http://cdn.api.twitter.com/1/urls/count.json?url='' + $URL + ''&callback=?'', function( twitdata ) { $(''#twitter-count'').text( ''The URL has '' + ReplaceNumberWithCommas(twitdata.count) + '' shares count on Twitter'') }); // LinkIn Shares Count $.getJSON( ''http://www.linkedin.com/countserv/count/share?url='' + $URL + ''&callback=?'', function( linkdindata ) { $(''#linkdin-count'').text( ''The URL has '' + ReplaceNumberWithCommas(linkdindata.count) + '' shares count on linkdIn'') }); $(''#data-tab'').fadeIn(); });

Fiddle completo

ACTUALIZAR:

Otro violín (devuelve el total de acciones en los 3 anteriores)