Bookmarken Twitter Feed

YiGG Api PHP Class

22. August 2006 | In: Php

Der deutsche Digg Klon YiGG bietet eine rudimentäre Api an um auf seine Services zugreifen zu können.

Um die YiGG-API zu testen habe ich eine PHP-Klasse ( yigg.class.php ) geschrieben, die sämtliche der z.Z. verfügbaren Methoden für PHP 5 kapselt.

Es lassen sich folgende Abfragen durchführen:

  • Frontpage: Liefert alle Einträge, die aktuell auf der Hauptseite von YiGG zu sehen sind.
  • Blogosphere: Liefert zu einem geg. Tag alle Beiträge. Optional kann man den Paramater count übergeben um die Ergebnissmenge zu begrenzen
  • Queue: Liefert alle Beiträge die noch in der Warteschlange sitzen.
  • Tags: Alle Beiträge die mit dem übergebenen Tag gelabelt sind bekommt man so.

Das ganze funktioniert von der Sache her schon recht ordentlich. Allerdings kam es des öfteren zu sehr langen Wartezeiten oder bei grossen Keywords zu fehlerhaften XML-Ergebnissen, da der Server wahrscheinlich die Generierung abgebrochen hatte.

Die PHP YiGG Api könnt Ihr hier herunterladen:

Download

Das Archiv enthält neben der Klasse ( yigg.class.php ) eine Demo ( index.php ) die sämtliche Funktionen demonstriert.

Das Foglende Beispiel Zeigt die möglichen Methoden-Aufrufe:

include_once( 'yigg.class.php' );
try
{
	$Yigg = new Yigg();
 
	$keyword = 'ajax';
 
	print( '<h2>YiGG - Frontpage</h2>' );
	$Yigg->Frontpage();
 
	print( '<h2>YiGG - Blogosphere für ' . $keyword . '</h2>' );
	$Yigg->Blogosphere( $keyword );
 
	print( '<h2>YiGG - Queue</h2>' );
	$Yigg->Queue();
 
	print( '<h2>YiGG - Tags für ' . $keyword . '</h2>' );
	$Yigg->Tags( $keyword );
 
}
catch( Exception $ex )
{
	print( $ex->getMessage() );
}

Alle Aufrufe lassen sich mit diversen Paramatern anpassen, ebenso wie das generierte Html. Siehe die gut dokumentiere Datei yigg.class.php :)

Da YiGG ständig über neue Funktionen grübelt …

Hier einige Verbesserungsvorschläge für die YiGG API:

  • alle Tags zu einem Artikel liefern
  • einheitliche Namen für die Felder, nicht “storylink, stroyurl” u.ä.
  • limit für alle Abfragen angeben können, gerade bei grossen keywords sicher ein Performancevorteil
  • offset für alle Anfragen angeben können, somit kann man durch die Ergebnisse navigieren
  • next_offset und last_offset in einem meta-feld mitliefern, siehe vorherige beiden Punkte
  • alle Beiträge eines Nutzers abfragen könne, oder auch nur meine eigenen
  • Tagclouds zugänglich machen
  • Serverseitig cachen, oder sonst an der Performance tunen, lange Ergebnisslisten für grosse Keywords sind oft fehlerhaft
  • CDATA für Felder nutzen, die Text enthalten
Bewertung: najagut
Loading ... Loading ...

Ähnliche Beiträge

Schreib einen Kommentar

Fülle das Kommentar-Formular vollständig aus oder melde dich über Twitter oder Facebook an.
Sign in with Facebook

By Teledir Internetanbieter