Pregunta

No está claro si esta API es aún capaz de buscar por URL, buscó a la G, sin mucho éxito.

¿Fue útil?

Solución

Services_Digg2 es sólo una biblioteca de cliente en PHP que reenvía todas las llamadas a la API y el API es compatible con la búsqueda de direcciones URL. Lo que necesita para aprobar es el hash MD5 de la URL en lugar de la URL real. PHP tiene un MD5 función que se puede utilizar para obtener el hash MD5 de un URL.

La llamada a la API entonces sería para story.getAll y pasar el hash MD5 calculado previamente como un parámetro link_hash.

http://services.digg.com/1.0/endpoint?method=story.getAll&link_hash=a23658a0828e2fb388b7c83f61e235e6

Este hash de arriba es para la URL http: // www. nytimes.com/2010/01/05/health/05docs.html y la respuesta de la API es:

<stories timestamp="1262740374" total="1" offset="0" count="1"> 
 <story link="http://www.nytimes.com/2010/01/05/health/05docs.html" submit_date="1262729293" diggs="70" id="18288654" comments="6" href="http://digg.com/health/For_F_D_R_Sleuths_New_Focus_on_an_Odd_Spot" promote_date="1262739603" status="popular" media="news"> 
  <description>Look closely at Roosevelt’s portraits over his 12-year presidency. In his first two terms, there is a dark spot over his left eyebrow. It seems to grow and then mysteriously vanishes sometime around 1940, leaving a small scar.  </description> 
  <title>For F.D.R. Sleuths, New Focus on an Odd Spot</title> 
  <user name="leaprinces" registered="1227624484" profileviews="23186" fullname="Princess Leia" icon="http://digg.com/users/leaprinces/l.png" /> 
  <topic name="Health" short_name="health" /> 
  <container name="Lifestyle" short_name="lifestyle" /> 
  <thumbnail originalwidth="190" originalheight="126" contentType="image/jpeg" src="http://digg.com/health/For_F_D_R_Sleuths_New_Focus_on_an_Odd_Spot/t.jpg" width="80" height="80" /> 
  <shorturl short_url="http://digg.com/d31EjiI" view_count="192" /> 
 </story> 
</stories>

El elemento de la historia en esta respuesta tiene un atributo llamado diggs que es lo que necesita.

Para conseguir esto a través de la librería PHP, el código debe ser algo como:

$url = "...";

$api = new Services_Digg2;
$stories = $api->story->getAll(array('link_hash' => md5($url)))->stories;

foreach($stories as $story) {
    // I am not sure how to access the diggs attribute
    // Maybe this works. If not, just
    // var_dump the $story object and 
    // see how to access the digg count information.
    echo $story['diggs'];
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top