Zu Handbuch PHP-API

Golem_Api_Video_Meta – Metadaten eines Videos holen

Mit der Klasse Golem_Api_Video_Meta laden Sie die Metadaten eines bestimmten Golem.de-Videos. Beachten Sie, dass unter einem Video-Identifier nicht eine bestimme Videodatei referenziert wird, sondern die allgemeinen Merkmale eines Videos. Dazu gehören auch die Verweise auf die jeweiligen Videodateien.

Einbindung

require_once '[Installationsort/]Golem/Request.php';
require_once '[Installationsort/]Golem/Api/Video/Meta.php';

Verwendung

Um ein neues Objekt der Klasse Golem_Api_Video_Meta zu erzeugen, übergeben Sie dem Konstruktor Ihren Entwicklerschlüssel und den Identifier des Videos:

$request = new Golem_Api_Video_Meta($developerKey, 12345);
Beispiel 1: Objektinitialisierung

Die eigentliche Abfrage erfolgt mit der Methode fetch(). War sie erfolgreich, können Sie auf die Metadaten des Videos zugreifen, die als lesbare Eigenschaften des Objektes bereit stehen.

$request->fetch();

$title = $request->title;
Beispiel 2: Abfrage starten und Daten holen

Fehlerbehandlung

Während der Datenabfrage können Fehler auftreten:

  • Golem_Api_Video_Meta::ERROR_INVALID_IDENTIFIER bedeutet, dass der übergebene Video-Identifier nicht die korrekte Form aufweist oder kein zugehöriges Video existiert. Ein Video-Identifier besteht immer nur aus Ziffern.

Wenn während der Abfrage ein Fehler auftritt, wird eine Exception geworfen, die Sie mit try-catch auffangen können.

try {

 $request->fetch();

} catch(Exception $e) {

 switch($e->getErrorCode()) {

  case Golem_Api_Video_Meta::ERROR_INVALID_IDENTIFIER :
       ...
       break;
  case ...

 }

}
Beispiel 3: Fehler abfangen

Verfügbare Videodaten

Für jedes Video werden folgende Eigenschaften mitgeliefert:

Name Bedeutung
videoid Video-Identifier
embeddedcode Der HTML-Code für die Einbindung des Golem.de-Players mit dem Video
pageurl Die URL zur Videoseite
title Der Titel des Videos
playtime Die Länge des Videos in Sekunden
medium Ein Array mit den Daten der Videodatei in normaler Auflösung. Die Eigenschaften des Objektes umfassen:
  • medium['videourl'] – Die URL der Videodatei
  • medium['width'] – Die Breite des Videos in Pixel
  • medium['height'] – Die Höhe des Videos in Pixel
  • medium['size'] – Die Dateigröße der Videodatei
  • medium['mimetype'] – Der Mimetyp der Videodatei
  • medium['image – Ein Array mit den Daten des Teaserbild des Videos
    • medium['image']['url'] – Die URL des Teaserbildes
    • medium['image']['width'] – Die Breite des Bildes in Pixel
    • medium['image']['height'] – Die Höhe des Bildes in Pixel
high Ein Array mit den Daten der Videodatei in normaler Auflösung. Die Eigenschaften des Objektes umfassen:
  • high['videourl'] – Die URL der Videodatei
  • high['width'] – Die Breite des Videos in Pixel
  • high['height'] – Die Höhe des Videos in Pixel
  • high['size'] – Die Dateigröße der Videodatei
  • high['mimetype'] – Der Mimetyp der Videodatei
  • high['image – Ein Array mit den Daten des Teaserbild des Videos
    • high['image']['url'] – Die URL des Teaserbildes
    • high['image']['width'] – Die Breite des Bildes in Pixel
    • high['image']['height'] – Die Höhe des Bildes in Pixel
apple Ein Array mit den Daten der Videodatei in normaler Auflösung. Die Eigenschaften des Objektes umfassen:
  • apple['videourl'] – Die URL der Videodatei
  • apple['width'] – Die Breite des Videos in Pixel
  • apple['height'] – Die Höhe des Videos in Pixel
  • apple['size'] – Die Dateigröße der Videodatei
  • apple['mimetype'] – Der Mimetyp der Videodatei
  • apple['image – Ein Array mit den Daten des Teaserbild des Videos
    • apple['image']['url'] – Die URL des Teaserbildes
    • apple['image']['width'] – Die Breite des Bildes in Pixel
    • apple['image']['height'] – Die Höhe des Bildes in Pixel

Vollständiges Beispiel

<?php

$includePathGolem  = '';       // path to include files from Golem.de API
$developerKey     = '';           // insert your developer key here

require_once $includePathGolem.'Golem/Request.php';
require_once $includePathGolem.'Golem/Api/Video/Meta.php';

$articles     = array();
$error        = '';

$request = new Golem_Api_Video_Meta($developerKey, 2227);

try {

 $request->fetch();

} catch( Exception $e ) {

 switch($e->getErrorCode()) {

  case Golem_Api_Article_Meta::ERROR_INVALID_IDENTIFIER :
       $error = 'Der Video-Identifier ist fehlerhaft!';
       break;

  default :
        $error = 'Es trat ein interner Fehler auf!';

 }

}

?>

<html>
 <head>
  <title>Meta data video example</title>
 </head>
 <body>
  <?php
    if('' != $error) {
        echo $error;
    } else {
  ?>
  <table border="1">
   <tr>
    <td>Video-Identifier:</td>
    <td><?php echo $request->videoid; ?></td>
   </tr>
   <tr>
    <td>Titel:</td>
    <td><?php echo $request->title; ?></td>
   </tr>
   <tr>
    <td>Spieldauer in Minuten und Sekunden:</td>
    <?php
    
        $min = floor($request->playtime/60);
        $sec = floor($request->playtime - ($min * 60));

        if($sec < 10) {

            $sec = '0'.$sec;
        }

        $playtime = $min.':'.$sec;
    ?>
    <td><?php echo $playtime; ?></td>
   </tr>
   <?php

    if(null != $request->medium && '' != $request->medium['videourl']) {

   ?>
   <tr>
    <td>Normale Auflösung:</td>
    <td><?php echo '<a href="'.$request->medium['videourl'].'">'.$request->medium['videourl'].'</a>'; ?></td>
   </tr>

   <?php

    }

    if(null != $request->high && '' != $request->high['videourl']) {

   ?>
   <tr>
    <td>Hohe Auflösung:</td>
    <td><?php echo '<a href="'.$request->high['videourl'].'">'.$request->high['videourl'].'</a>'; ?></td>
   </tr>

   <?php

    }

    if(null != $request->apple && '' != $request->apple['videourl']) {

   ?>
   <tr>
    <td>Auflösung für spezielle Geräte:</td>
    <td><?php echo '<a href="'.$request->high['videourl'].'">'.$request->apple['videourl'].'</a>'; ?></td>
   </tr>

   <?php

    }

   ?>

  </table>
  <?php
    }
  ?>
 </body>
</html>


Zu Handbuch PHP-API