Zu Handbuch Javascript-API

Golem.Api.Article.Meta – Metadaten eines Artikels holen

Mit der Klasse Golem.Api.Article.Meta laden Sie die Metadaten eines bestimmten Artikels. Metadaten umfassen unter anderem die Überschrift, die Unter-Überschrift, den Abstract und das Publikationsdatum.

Inhalt

Einbindung

Javascript-Datei Golem/Api/Article/Meta.js
Golem/Api/Article/Meta-min.js
Package-Javascript-Datei Golem/Api/Article-full.js
Golem/Api/Article-full-min.js
Erforderliche Klassen Golem.Request
Golem.Api
<!-- Erforderlich -->
<script type="text/javascript" src="http://api.golem.de/download/js/latest/Golem/Core-min.js"></script>

<!-- Klasse -->
<script type="text/javascript" src="http://api.golem.de/download/js/latest/Golem/Api/Article/Meta.js"></script>

Verwendung

Nehmen wir an, Sie wollen in eine leere HTML-Tabelle die Meta-Daten eines bestimmten Artikels einfügen. Der HTML-Code der Tabelle sieht wie folgt aus:

<table border="1" width="100%">
 <tr>
  <th>Artikel-Identifer</th>
  <td id="meta_id"></td>
 </tr>
 <tr>
  <th>Überschrift</th>
  <td id="meta_headline"></td>
 </tr>
 <tr>
  <th>Unter-Überschrift</th>
  <td id="meta_subheadline"></td>
 </tr>
 <tr>
  <th>Abstract</th>
  <td id="meta_abstracttext"></td>
 </tr>
 <tr>
  <th>Veröffentlicht</th>
  <td id="meta_published"></td>
 </tr>
</table>
Beispiel 1: HTML-Tabelle für Artikeldaten

Der zugehörige Javascript-Code soll diese Tabelle mit den Metadaten eines Artikels füllen. Dem Construktor der Klasse Golem.Api.Article.Meta übergeben Sie den Identifier des Artikels. Anschließend rufen Sie die fetch()-Methode des Objektes auf. Als Parameter für den Aufruf wird ein Objekt-Literal übergeben. Es enthält nur ein Objekt-Property fnSuccess, dem eine Funktion zugewiesen wird. War die Daten-Abfrage erfolgreich, wird diese Funktion aufgerufen und Sie können die Tabelle befüllen.


Golem.Request.KEY = '<ENTWICKLERSCHLÜSSEL>';

var oMeta = new Golem.Api.Article.Meta(12565);

oMeta.fetch(
    {
        fnSuccess : fillTable
    }
);
Beispiel 2: Abfrage der Artikeldaten

Die Funktion zum Füllen der Tabelle benutzt die Methode getValue(), um einen Metadaten-Wert als Inhalt für die jeweilige Tabellenzelle einzufügen. Die Füll-Funktion läuft dabei innerhalb des Scopes des oMeta-Objektes, weshalb Sie getValue mit this referenzieren können.


function fillTable() {

 document.getElementById('meta_id').innerHTML           = this.getValue('articleid');

 document.getElementById('meta_headline').innerHTML     = this.getValue('headline');

 document.getElementById('meta_subheadline').innerHTML  = this.getValue('subheadline');

 document.getElementById('meta_abstracttext').innerHTML = this.getValue('abstracttext');

 var publishDate = new Date(this.getValue('date') * 1000);

 document.getElementById('meta_published').innerHTML    = publishDate.toLocaleString();

}
Beispiel 3: Funktion zum Füllen der HTML-Tabelle

Fehlerbehandlung

Während der Datenabfrage können Fehler auftreten:

  • Golem.Api.Article.Meta.ERROR_INVALID_IDENTIFIER bedeutet, dass der übergebene Artikel-Identifier nicht die korrekte Form aufweist. Ein Artikel-Identifier besteht immer nur aus Ziffern.
  • Golem.Api.Article.Meta.ERROR_NO_ARTICLE bedeutet, dass der übergebene Artikel-Identifier nicht auf einen veröffentlichten Artikel verweist.

Um eine fehlerhafte Abfrage abzufangen, geben Sie bei der Methode fetch() eine Funktion für die Fehlerbehandlung an:

...
oMeta.fetch(
    {
        fnSuccess : fillTable,
        fnError   : handleError
    }
);
...
Beispiel 4: Abfrage ergänzt um Fehlerbehandlung

Der Fehler-Funktion wird als erster Parameter der Fehlercode übergeben, als zweiter eine Fehlermeldung. Auch diese Funktion läuft innerhalb des Scopes des oMeta-Objektes.


function handleError(errorCode, errorMessage) {

    var msg = '';

    switch(errorCode) {

        case Golem.Api.Article.Meta.ERROR_INVALID_IDENTIFIER :
            msg = 'Fehlerhafter Artikel-Identifier';
            break;

        case Golem.Api.Article.Meta.ERROR_NO_ARTICLE :
            msg = 'Kein zugehöriger Artikel!';
            break;

        default :
            msg = 'Unbekannter Fehler!';
    }
    
    alert(msg);

}
Beispiel 5: Funktion zur Fehlerbehandlung

Verfügbare Metadaten

Derzeit werden folgende Metadaten eine Artikels geliefert:

Name Bedeutung
articleid Artikel-Identifier
abstracttext Der Abstract des Artikels, eine Kurzzusammenfassung des Inhaltes
headline Die Überschrift des Artikels
subheadline Die Unter-Überschrift des Artikels
date Das Veröffentlichungsdatum als UNIX-Timestamp in Millisekunden
url Die URL des Artikels
pages Die Anzahl der Seiten des Artikels
leadimg Ein Objekt-Literal mit den Daten des Headline-Bildes des Artikels. Die Eigenschaften des Objektes umfassen:
  • leadimg.url – Die URL des Bildes
  • leadimg.width – Die Breite des Bildes in Pixel
  • leadimg.height – Die Höhe des Bildes in Pixel

Vollständiges Beispiel

<html>

 <head>
  <script type="text/javascript" src="http://api.golem.de/download/js/latest/Golem/Core-min.js"></script>
  <script type="text/javascript" src="http://api.golem.de/download/js/latest/Golem/Api/Article/Meta.js"></script>
  <script type="text/javascript">

  function start() {

   Golem.Request.KEY = '<ENTWICKLERSCHLÜSSEL>';

   var oMeta = new Golem.Api.Article.Meta(12565);

   oMeta.fetch(
    {
        fnSuccess : fillTable,
        fnError   : handleError

    }
   );

  }

  function fillTable() {
  
   document.getElementById('meta_id').innerHTML   = this.getValue('articleid');
  
   document.getElementById('meta_headline').innerHTML     = this.getValue('headline');
  
   document.getElementById('meta_subheadline').innerHTML  = this.getValue('subheadline');
  
   document.getElementById('meta_abstracttext').innerHTML = this.getValue('abstracttext');
  
   var publishDate = new Date(this.getValue('date') * 1000) ;
  
   document.getElementById('meta_published').innerHTML = publishDate.toLocaleString();
  
  }

  function handleError(errorCode, errorMessage) {
  
      var msg = '';
  
      switch(errorCode) {
  
          case Golem.Api.Article.Meta.ERROR_INVALID_IDENTIFIER :
              msg = 'Fehlerhafter Artikel-Identifier';
              break;
  
          case Golem.Api.Article.Meta.ERROR_NO_ARTICLE :
              msg = 'Kein zugehöriger Artikel!';
              break;
  
          default :
              msg = 'Unbekannter Fehler!';
      }

      alert(msg);

  }

  </script>

 </head>

 <body onload="start()">
 
  <table border="1" width="100%">
   <tr>
    <th>Artikel-Identifer</th>
    <td id="meta_id"></td>
   </tr>
   <tr>
    <th>Überschrift</th>
    <td id="meta_headline"></td>
   </tr>
   <tr>
    <th>Unter-Überschrift</th>
    <td id="meta_subheadline"></td>
   </tr>
   <tr>
    <th>Abstract</th>
    <td id="meta_abstracttext"></td>
   </tr>
   <tr>
    <th>Veröffentlicht</th>
    <td id="meta_published"></td>
   </tr>
  </table>

 </body>

</html>


Zu Handbuch Javascript-API