practices - twitter cards validator
¿Hay alguna forma de obtener el recuento de las cuentas de Twitter para una URL específica? (12)
Acabo de leer el contenido en un objeto json a través de php, luego lo analizo ...
<script>
<?php
$tweet_count_url = ''http://urls.api.twitter.com/1/urls/count.json?url=''.$post_link;
$tweet_count_open = fopen($tweet_count_url,"r");
$tweet_count_read = fread($tweet_count_open,2048);
fclose($tweet_count_open);
?>
var obj = jQuery.parseJSON(''<?=$tweet_count_read;?>'');
jQuery("#tweet-count").html("("+obj.count+") ");
</script>
Lo suficientemente simple, y sirve mis propósitos a la perfección.
Revisé la documentación de la API pero no pude encontrarla. Sería bueno obtener ese número para ver qué tan popular es una url. Engadget utiliza el botón Compartir de Twitter en los artículos si buscas un ejemplo. Estoy intentando hacer esto a través de javascript. Cualquier ayuda es apreciada.
De esta forma puedes obtenerlo con jquery. El div id = "twitterCount" se completará automáticamente cuando se cargue la página.
function getTwitterCount(url){ var tweets; $.getJSON(''http://urls.api.twitter.com/1/urls/count.json?url='' + url + ''&callback=?'', function(data){ tweets = data.count; $(''#twitterCount'').html(tweets); }); } var urlBase=''http://http://.com''; getTwitterCount(urlBase);
¡Aclamaciones!
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
Más ejemplos y documentación
Clase de Javascript para obtener acciones de URL en Facebook, Twitter y LinkedIn
Este comentario https://.com/a/8641185/1118419 propone usar Topsy API. No estoy seguro de que la API sea correcta:
Respuesta de Twitter para www.e-conomic.dk:
http://urls.api.twitter.com/1/urls/count.json?url=http://www.e-conomic.dk
muestra 10 cuentas
Respuesta de Topsy para www.e-conomic.dk:
http://otter.topsy.com/stats.json?url=http://www.e-conomic.dk
18 cuentas
Esto ya no es posible ya que a partir de hoy, puedes leer más aquí:
https://twitter.com/twitterdev/status/667836799897591808
Y no hay planes para implementarlo de nuevo, desafortunadamente.
Vota por lo que los usuarios no pierden el tiempo probando.
Actualización: Sin embargo, es posible a través de http://opensharecount.com , proporcionan un reemplazo directo para la antigua URL JSON privada basada en las búsquedas realizadas a través de la API (para que no tenga que hacer todo ese trabajo).
Se basa en los puntos finales de búsqueda de REST API. Su sistema aún es nuevo, así que deberíamos ver cómo funciona. En el futuro podemos esperar más de sistemas similares, porque hay una gran demanda.
La respuesta aprobada es la correcta. Hay otras versiones del mismo punto final, usadas internamente por Twitter.
Por ejemplo, el botón oficial para compartir con count usa este:
https://cdn.syndication.twitter.com/widgets/tweetbutton/count.json?url=[URL]
El soporte de JSONP está allí agregando &callback=func
.
No.
¿Cómo accedo a la API de recuento para saber cuántos Tweets tiene mi URL?
En esta etapa inicial del botón Tweet, la cuenta API es privada. Esto significa que necesita usar nuestro javascript o el botón Tweet de iframe para poder procesar el conteo. A medida que nuestra escala de sistemas buscaremos hacer que la API de recuento sea pública para que los desarrolladores la utilicen.
http://dev.twitter.com/pages/tweet_button_faq#custom-shortener-count
Puede usar el siguiente punto final API,
http://cdn.api.twitter.com/1/urls/count.json?url=http://.com
Tenga en cuenta que el http://urls.api.twitter.com/
endpoint no es público ).
El punto final devolverá una cadena JSON similar a,
{"count":27438,"url":"http:////.com//"}
En el cliente, si está realizando una solicitud para obtener el recuento de recursos compartidos de la URL para su propio dominio (del que se está ejecutando el script), entonces una solicitud AJAX funcionará (por ejemplo, jQuery.getJSON
). De lo contrario, emita una solicitud JSONP al agregar callback=?
:
jQuery.getJSON(''https://cdn.api.twitter.com/1/urls/count.json?url=http://.com/&callback=?'', function (data) {
jQuery(''#so-url-shares'').text(data.count);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="so-url-shares">Calculating...</div>
Actualizar:
A partir del 21 de noviembre de 2015, esta forma de obtener el conteo de las cuentas de Twitter ya no funciona. Lea más en: https://blog.twitter.com/2015/hard-decisions-for-a-sustainable-platform
Sé que es una vieja pregunta, pero para mí el URL http://cdn.api.twitter.com/1/urls/count.json?url=http://.com
no funcionó en llamadas ajax
debido a Cross-origin
Resolví usar PHP CURL
, hice una ruta personalizada y la llamé a través de ajax.
/* Other Code */
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don''t return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
CURLOPT_ENCODING => "", // handle compressed
CURLOPT_USERAGENT => "test", // name of client
CURLOPT_AUTOREFERER => true, // set referrer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // time-out on connect
CURLOPT_TIMEOUT => 120, // time-out on response
);
$url = $_POST["url"]; //whatever you need
if($url !== ""){
$curl = curl_init("http://urls.api.twitter.com/1/urls/count.json?url=".$url);
curl_setopt_array($curl, $options);
$result = curl_exec($curl);
curl_close($curl);
echo json_encode(json_decode($result)); //whatever response you need
}
Es importante utilizar un POST
porque la url
en la solicitud GET
causa problemas.
Espero que haya ayudado.
Sí hay. Siempre que hagas lo siguiente:
Emita una solicitud JSONP a una de las URL:
http://cdn.api.twitter.com/1/urls/count.json?url=[URL_IN_REQUEST]&callback=[YOUR_CALLBACK]
http://urls.api.twitter.com/1/urls/count.json?url=[URL_IN_REQUEST]&callback=[YOUR_CALLBACK]
Asegúrese de que la solicitud que está realizando sea del mismo dominio que la
[URL_IN_REQUEST]
. De lo contrario, no funcionará.Ejemplo:
Realizando solicitudes de
example.com
para solicitar el recuento deexample.com/page/1
. Debería funcionarHacer solicitudes desde
another-example.com
para solicitar el recuento deexample.com/page/1
. NO funcionará .
Sí,
https://share.yandex.ru/gpp.xml?url=http://www.web-technology-experts-notes.in
Reemplazar " http://www.web-technology-experts-notes.in " con " su URL de página web completa ".
Compruebe el recuento de Compartir de Facebook , Twitter , LinkedIn y Pinterest
Actualización: a partir del 21 de noviembre de 2015, Twitter eliminó la API de "punto final del conteo de Tweet".
Leer más: https://twitter.com/twitterdev/status/667836799897591808
esto es para url con https (para Brodie) https://cdn.api.twitter.com/1/urls/count.json?url=YOUR_URL