|
|
Zend_Service_Technorati bietet ein einfaches, intuitives und
objekt-orientiertes Interface für die Verwendung der Technorati API. Es bietet Zugriff
zu allen vorhandenen » Technorati API
Abfragen und gibt die originalen XML Antworten als freundliches PHP Objekt
zurück.
» Technorati ist eine der populärsten Blog Suchmaschinen. Das API Interface ermöglicht es Entwicklern Informationen über einen spezifischen Blog zu erhalten, Blogs zu suchen die einem einzelnen Tag oder einer Phrase entsprechen und Informationen über einen spezifischen Author (Blogger) erhalten. Für eine komplette Liste von vorhandenen Abfragen kann in die » Technorati API Dokumentation oder die vorhandenen Technorati Abfragen-Sektion dieses Dokuments gesehen werden.
Technorati benötigt einen gültigen API Schlüssel zur Verwendung. Um einen eigenen API Schlüssel zu erhalten muss » ein neuer Technorati Account erstellt werden, und anschließend die » API Schlüssel Sektion besucht werden.
Note: API Schlüssel Beschränkungen
Es können bis zu 500 Technirati API Aufrufe pro Tag durchgeführt werden ohne das Kosten anfallen. Andere Limitationen der Verwendung können vorhanden sein, abhängig von der aktuellen Technorati API Lizenz.
Sobald man einen gültigen API Schlüssel hat, kann man beginnen
Zend_Service_Technorati zu verwenden.
Um eine Abfrage durchzuführen, benötigt man zuerst eine
Zend_Service_Technorati Instanz mit einem gültigen API Schlüssel.
Dann kann eine der vorhandenen Abfragemethoden ausgewählt werden, und durch Angabe der
benötigen Argumente aufgerufen werden.
Example #1 Die erste Abfragen senden
// ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
// Technorati nach dem Schlüsselwort PHP durchsuchen
$resultSet = $technorati->search('PHP');
Jede Abfragemethode akzeptiert ein Array von optionalen Parametern die verwendet werden kann um die Abfrage zu verfeinern.
Example #2 Verfeinern der Abfrage
// ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
// Die Abfrage nach Ergebnissen mit etwas Authority filtern
// (Ergebnisse von Blogs mit einer Handvoll Links)
$options = array('authority' => 'a4');
// Technorati nach dem Schlüsselwort PHP durchsuchen
$resultSet = $technorati->search('PHP', $options);
Eine Zend_Service_Technorati Instanz ist kein einmal zu
verwendendes Objekt. Deswegen muß keine neue Instanz für jede Abfrage erstellt werden;
es kann einfach das aktuelle Zend_Service_Technorati Objekt
solange verwendet werden wie es benötigt wird.
Example #3 Mehrfache Abfragen mit der gleichen Zend_Service_Technorati Instanz senden
// ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
// Technorati nach dem Schlüsselwort PHP durchsuchen
$search = $technorati->search('PHP');
// Top Tags die von Technorati indiziert wurden erhalten
$topTags = $technorati->topTags();
Es kann einer von zwei Typen von Ergebnisobjekten als Antwort auf eine Abfrage empfangen werden.
Die erste Gruppe wird durch Zend_Service_Technorati_*ResultSet
Objekte repräsentiert. Ein Ergebnisset Objekt ist grundsätzlich eine Kollektion von
Ergebnisobjekten. Es erweitert die grundsätzliche
Zend_Service_Technorati_ResultSet Klasse und implementiert das
PHP Interface SeekableIterator. Der beste Weg um ein Ergebnisset Objekt zu
verarbeiten ist dieses mit einem PHP foreach Statement zu durchlaufen.
Example #4 Ein Ergebnisset Objekt verarbeiten
// ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
// Technorati nach dem PHP Schlüsselwort durchsuchen
// $resultSet ist eine Instanz von Zend_Service_Technorati_SearchResultSet
$resultSet = $technorati->search('PHP');
// Alle Ergebnisobjekte durchlaufen
foreach ($resultSet as $result) {
// $result ist eine Instanz von Zend_Service_Technorati_SearchResult
}
Weil Zend_Service_Technorati_ResultSet das
SeekableIterator Interface implementiert, kann ein spezifisches
Ergebnisobjekt gesucht werden indem dessen Position in der Ergebnissammlung verwendet
wird.
Example #5 Ein spezifisches Ergebnisset Objekt suchen
// ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
// Technorati nach dem PHP Schlüsselwort durchsuchen
// $resultSet ist eine Instanz von Zend_Service_Technorati_SearchResultSet
$resultSet = $technorati->search('PHP');
// $result ist eine Instanz von Zend_Service_Technorati_SearchResult
$resultSet->seek(1);
$result = $resultSet->current();
Note:
SeekableIteratorarbeitet als Array und zählt Positionen beginnend vom Index 0. Das Holen der Position 1 bedeutet das man das zweite Ergebnis der Kollektion erhält.
Die zweite Gruppe wird durch spezielle alleinstehende Ergebnisobjekte repräsentiert.
Zend_Service_Technorati_GetInfoResult,
Zend_Service_Technorati_BlogInfoResult und
Zend_Service_Technorati_KeyInfoResult funktionieren als Wrapper
für zusätzliche Objekte, wie Zend_Service_Technorati_Author und
Zend_Service_Technorati_Weblog.
Example #6 Ein alleinstehendes Ergebnisobjekt verarbeiten
// ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
// Infos über weppos Author erhalten
$result = $technorati->getInfo('weppos');
$author = $result->getAuthor();
echo 'Blogs authorisiert von ' . $author->getFirstName() . " " .
$author->getLastName() . '
';
echo '';
foreach ($result->getWeblogs() as $weblog) {
echo '- ' . $weblog->getName() . '
';
}
echo "
";
Bitte lesen Sie das Zend_Service_Technorati Klassen Kapitel für weitere Details über Antwortklassen.
Jede Zend_Service_Technorati Abfragemethode wirft bei einem
Fehler eine Zend_Service_Technorati_Exception Ausnahme mit einer
bedeutungsvollen Fehlermeldung.
Es gibt verschiedene Gründe die Verursachen können das eine
Zend_Service_Technorati Abfrage fehlschlägt.
Zend_Service_Technorati prüft alle Parameter für jegliche
Abfrageanfragen. Wenn ein Parameter ungültig ist oder er einen ungültigen Wert enthält,
wird eine neue Zend_Service_Technorati_Exception Ausnahme
geworfen. Zusätzlich kann das Technorati API Interface temporär unerreichbar sein, oder
es kann eine Antwort zurückgeben die nicht gültig ist.
Eine Technorati Abfrage sollte immer mit einem try...catch
Block umhüllt werden.
Example #7 Eine Abfrageausnahme behandeln
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
try {
$resultSet = $technorati->search('PHP');
} catch(Zend_Service_Technorati_Exception $e) {
echo "Ein Fehler ist aufgetreten: " $e->getMessage();
}
Von Zeit zu Zeit wird man die tägliche Verwendung des API Schlüssels prüfen wollen.
Standardmäßig limitiert Technorati die API Verwendung auf 500 Aufrufe pro Tag, und eine
Ausnahme wird durch Zend_Service_Technorati zurückgegeben wenn
versucht wird dieses Limit zu überschreiten. Man kann diese Information über die
Verwendung des eigenen API Schlüssels erhalten indem die
Zend_Service_Technorati::keyInfo() Methode verwendet wird.
Zend_Service_Technorati::keyInfo() gibt ein
Zend_Service_Technorati_KeyInfoResult Object zurück. Für
vollständige Details kann im » API
Referenz Guide nachgesehen werden.
Example #8 Die Information über die tägliche Verwendung des API Schlüssels erhalten
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
$key = $technorati->keyInfo();
echo "API Schlüssel: " . $key->getApiKey() . "
";
echo "Tägliche Verwendung: " . $key->getApiQueries() . "/" .
$key->getMaxQueries() . "
";
Zend_Service_Technorati bietet Unterstützung für die folgenden
Abfragen:
Eine » Cosmos
Abfrage lässt einen Sehen welche Blog zu einer gegebenen URL verknüpft sind. Sie
gibt ein Zend_Service_Technorati_CosmosResultSet
Objekt zurück. Für vollständige Details kann nach
Zend_Service_Technorati::cosmos() im » API Referenz Guide
nachgesehen werden.
Example #9 Cosmos Abfrage
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
$resultSet = $technorati->cosmos('http://devzone.zend.com/');
echo "Liest " . $resultSet->totalResults() .
" von " . $resultSet->totalResultsAvailable() .
" vorhandenen Ergebnissen
";
echo "";
foreach ($resultSet as $result) {
echo "- " . $result->getWeblog()->getName() . "
";
}
echo "
";
Die » Search
Abfrage lässt einen Sehen welche Blogs einen gegebenen Suchstring enthalten. Sie
gibt ein Zend_Service_Technorati_SearchResultSet
Objekt zurück. Für vollständige Details kann nach
Zend_Service_Technorati::search() im » API Referenz Guide
nachgesehen werden.
Example #10 Suchabfrage
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
$resultSet = $technorati->search('zend framework');
echo "Liest " . $resultSet->totalResults() .
" von " . $resultSet->totalResultsAvailable() .
" vorhandenen Ergebnissen
";
echo "";
foreach ($resultSet as $result) {
echo "- " . $result->getWeblog()->getName() . "
";
}
echo "
";
Die » Tag Abfrage
lässt einen Sehen welche Antworten mit einem gegebenen Tag assoziiert sind. Sie gibt
ein Zend_Service_Technorati_TagResultSet
Objekt zurück. Für vollständige Details kann nach
Zend_Service_Technorati::tag() im » API Referenz Guide
nachgesehen werden.
Example #11 Tag Abfrage
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
$resultSet = $technorati->tag('php');
echo "Liest " . $resultSet->totalResults() .
" von " . $resultSet->totalResultsAvailable() .
" vorhandenen Ergebnissen
";
echo "";
foreach ($resultSet as $result) {
echo "- " . $result->getWeblog()->getName() . "
";
}
echo "
";
Die » DailyCounts
Abfrage bietet tägliche Anzahlen von Antworten die ein abgefragtes Schlüsselwort
enthalten. Sie gibt ein Zend_Service_Technorati_DailyCountsResultSet
Objekt zurück. Für vollständige Details kann nach
Zend_Service_Technorati::dailyCounts() im
» API Referenz Guide
nachgesehen werden.
Example #12 DailyCounts Abfrage
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
$resultSet = $technorati->dailyCounts('php');
foreach ($resultSet as $result) {
echo "
Die » TopTags
Abfrage bietet Informationen über Top Tags die durch Technorati indiziert sind. Sie
gibt ein Zend_Service_Technorati_TagsResultSet
Objekt zurück. Für vollständige Details kann nach
Zend_Service_Technorati::topTags() im
» API Referenz Guide
nachgesehen werden.
Example #13 TopTags Abfrage
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
$resultSet = $technorati->topTags();
echo "Liest " . $resultSet->totalResults() .
" von " . $resultSet->totalResultsAvailable() .
" vorhandenen Ergebnissen
";
echo "";
foreach ($resultSet as $result) {
echo "- " . $result->getTag() . "
";
}
echo "
";
Eine » BlogInfo
Abfrage bietet Informationen darüber welcher Blog, wenn überhaupt, mit einer
gegebenen URL assoziiert ist. Sie gibt ein Zend_Service_Technorati_BlogInfoResult
Objekt zurück. Für vollständige Details kann nach
Zend_Service_Technorati::blogInfo() im
» API Referenz Guide
nachgesehen werden.
Example #14 BlogInfo Abfrage
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
$result = $technorati->blogInfo('http://devzone.zend.com/');
echo '' .
$result->getWeblog()->getName() . '
';
Eine » BlogPostTags
Abfrage bietet Informationen über Top Tags die von einem spezifischen Blog verwendet
werden. Sie gibt ein Zend_Service_Technorati_TagsResultSet
Objekt zurück. Für vollständige Details kann nach
Zend_Service_Technorati::blogPostTags() im
» API Referenz Guide
nachgesehen werden.
Example #15 BlogPostTags Abfrage
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
$resultSet = $technorati->blogPostTags('http://devzone.zend.com/');
echo "Liest " . $resultSet->totalResults() .
" von " . $resultSet->totalResultsAvailable() .
" vorhandenen Ergebnissen
";
echo "";
foreach ($resultSet as $result) {
echo "- " . $result->getTag() . "
";
}
echo "
";
Eine » GetInfo
Abfrage teilt mit was Technorati über ein Mitglied weiß. Sie gibt ein Zend_Service_Technorati_GetInfoResult
Objekt zurück. Für vollständige Details kann nach
Zend_Service_Technorati::getInfo() im
» API Referenz Guide
nachgesehen werden.
Example #16 GetInfo Abfrage
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
$result = $technorati->getInfo('weppos');
$author = $result->getAuthor();
echo "Blogs authorisiert von " . $author->getFirstName() . " " .
$author->getLastName() . "
";
echo "";
foreach ($result->getWeblogs() as $weblog) {
echo "- " . $weblog->getName() . "
";
}
echo "
";
Die KeyInfo Abfrage bietet Informationen über die tägliche Verwendung eines API
Schlüssels. Sie gibt ein Zend_Service_Technorati_KeyInfoResult
Objekt zurück. Für vollständige Details kann nach
Zend_Service_Technorati::keyInfo() im
» API Referenz Guide
nachgesehen werden.
Die folgenden Klassen werden von den verschiedenen Technorati Anfragen zurückgegeben.
Jede Zend_Service_Technorati_*ResultSet Klasse enthält ein
typ-spezifisches Ergebnisset welches einfach, mit jedem Ergebnis das in einem Typ
Ergebnisobjekt enthalten ist, iteriert werden kann. Alle Ergebnisset Klassen erweitern
die Zend_Service_Technorati_ResultSet Klasse und implementieren
das SeekableIterator Interface, welches eine einfache Iteration und Suche
nach einem spezifischen Ergebnis erlaubt.
Note:
Zend_Service_Technorati_GetInfoResult,Zend_Service_Technorati_BlogInfoResultundZend_Service_Technorati_KeyInfoResultrepräsentieren Ausnahmen zu den obigen weil Sie nicht zu einem ergebnisset gehören und sie kein Interface implementieren. Sie repräsentieren ein einzelnes Antwortobjekt und sie funktionieren als Wrapper für zusätzlicheZend_Service_TechnoratiObjekte, wieZend_Service_Technorati_AuthorundZend_Service_Technorati_Weblog.
Die Zend_Service_Technorati Bibliothek beinhaltet zusätzliche
bequeme Klassen die spezifische Antwortobjekte repräsentieren.
Zend_Service_Technorati_Author repräsentiert einen einzelnen
Technorati Account, welcher auch als Blog Author oder Blogger bekannt ist.
Zend_Service_Technorati_Weblog repräsentiert ein einzelnes Weblog
Objekt, zusätzlich mit allen spezifischen Weblog eigenschaften sie Feed URLs oder Blog
Namen. Für komplette Details kann nach Zend_Service_Technorati im
» API Referenz Guide
nachgesehen werden.
Zend_Service_Technorati_ResultSet ist das am meisten
essentielle Ergebnisset. Der Zweck dieser Klasse ist es von einer
abfrage-spezifischen Kind-Ergebnisset-Klasse erweitert zu werden, und sie sollte
niemals verwendet werden um ein alleinstehendes Objekt zu initialisieren. Jedes der
spezifischen Ergebnissets repräsentiert eine Kollektion von abfrage-spezifischen
Zend_Service_Technorati_Result
Objekte.
Zend_Service_Technorati_ResultSet Implementiert das PHP
SeekableIterator Interface, und man kann durch alle Ergebnisobjekte mit
dem PHP Statement foreach iterieren.
Example #17 Über Ergebnisobjekte von einer Ergebnisset Kollektion iterieren
// eine einfache Abfrage durchlaufen
$technorati = new Zend_Service_Technorati('VALID_API_KEY');
$resultSet = $technorati->search('php');
// $resultSet ist jetzt eine Instanz von
// Zend_Service_Technorati_SearchResultSet
// sie erweitert Zend_Service_Technorati_ResultSet
foreach ($resultSet as $result) {
// irgendwas mit dem Zend_Service_Technorati_SearchResult Objekt anfangen
}
Zend_Service_Technorati_CosmosResultSet repräsentiert ein
Technorati Cosmos Abfrage Ergebnisset.
Note:
Zend_Service_Technorati_CosmosResultSeterweitert Zend_Service_Technorati_ResultSet.
Zend_Service_Technorati_SearchResultSet repräsentiert ein
Technorati Search Abfrage Ergebnisset.
Note:
Zend_Service_Technorati_SearchResultSeterweitert Zend_Service_Technorati_ResultSet.
Zend_Service_Technorati_TagResultSet repräsentiert ein
Technorati Tag Abfrage Ergebnisset.
Note:
Zend_Service_Technorati_TagResultSeterweitert Zend_Service_Technorati_ResultSet.
Zend_Service_Technorati_DailyCountsResultSet repräsentiert
ein Technorati DailyCounts Abfrage Ergebnisset.
Note:
Zend_Service_Technorati_DailyCountsResultSeterweitert Zend_Service_Technorati_ResultSet.
Zend_Service_Technorati_TagsResultSet repräsentiert ein
Technorati TopTags oder BlogPostTags Abfrage Ergebnisset.
Note:
Zend_Service_Technorati_TagsResultSeterweitert Zend_Service_Technorati_ResultSet.
Zend_Service_Technorati_Result ist das wichtigste
Ergebnisobjekt. Der Zweck dieser Klasse ist es, durch eine abfrage-spezifische
Kind-Ergebnisklasse erweitert zu werden, und Sie sollte nie verwendet werden um ein
alleinstehendes Objekt zu initiieren.
Zend_Service_Technorati_CosmosResult repräsentiert ein
einzelnes Technorati Cosmos Abfrageobjekt. Es wird nie als alleinstehendes Objekt
zurückgegeben, aber es gehört immer einem gültigen Zend_Service_Technorati_CosmosResultSet
Objekt an.
Note:
Zend_Service_Technorati_CosmosResulterweitert Zend_Service_Technorati_Result.
Zend_Service_Technorati_SearchResult repräsentiert ein
einzelnes Technorati Search Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes
Objekt zurückgegeben, aber es gehört immer einem gültigen Zend_Service_Technorati_SearchResultSet
Objekt an.
Note:
Zend_Service_Technorati_SearchResulterweitert Zend_Service_Technorati_Result.
Zend_Service_Technorati_TagResult repräsentiert ein einzelnes
Technorati Tag Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes Objekt
zurückgegeben, aber es gehört immer einem gültigen Zend_Service_Technorati_TagResultSet
Objekt an.
Note:
Zend_Service_Technorati_TagResulterweitert Zend_Service_Technorati_Result.
Zend_Service_Technorati_DailyCountsResult repräsentiert ein
einzelnes Technorati DailyCounts Abfrage Ergebnisobjekt. Es wird nie als
alleinstehendes Objekt zurückgegeben, aber es gehört immer einem gültigen Zend_Service_Technorati_DailyCountsResultSet
Objekt an.
Note:
Zend_Service_Technorati_DailyCountsResulterweitert Zend_Service_Technorati_Result.
Zend_Service_Technorati_TagsResult repräsentiert ein
einzelnes Technorati TopTags oder BlogPostTags Abfrage Ergebnisobjekt. Es wird nie
als alleinstehendes Objekt zurückgegeben, aber es gehört immer einem gültigen Zend_Service_Technorati_TagsResultSet
Objekt an.
Note:
Zend_Service_Technorati_TagsResulterweitert Zend_Service_Technorati_Result.
Zend_Service_Technorati_GetInfoResult repräsentiert ein
einzelnes Technorati GetInfo Abfrage Ergebnisobjekt.
Zend_Service_Technorati_BlogInfoResult repräsentiert ein
einzelnes Technorati BlogInfo Abfrage Ergebnisobjekt.
Zend_Service_Technorati_KeyInfoResult repräsentiert ein
einzelnes Technorati KeyInfo Abfrage Ergebnisobjekt. Es bietet Informationen über
die eigene tägliche
Verwendung des Technorati API Schlüssels.
|
|
Copyright © 2005-2011 Zend Technologies Inc (compiled by mikaelkael with ZFDocumentor - SVN 18616).

