Ryzom API/Gilde

Aus EnzyklopAtys

Wechseln zu: Navigation, Suche
de:Ryzom API/Gilde en:Ryzom API/Guild
 
UnderConstruction.png
Übersetzung zur Überprüfung
Gib nicht den Mitwirkenden die Schuld, sondern komm und hilf ihnen. 😎

Zugang zu Gilden-Informationen.

Verwendung

<base URL>/guild.php?apikey=key
<base URL>/guild.php?apikey[]=key1&apikey[]=key2

URL-Parameter

apikey 
Gilden-API-Schlüssel beginnt mit 'g'

Cache-Laufzeit

Das Guild-Xml-Element hat die Attribute created und cached_until (utc timestamp)

XML-Struktur

Die API ist in der Lage, Informationen für mehrere Gilden gleichzeitig zu liefern, und daher ist jedes <Gilde>-Element ein Kind von <ryzomapi>-Wurzelelementen.

<ryzomapi>
  <guild apikey="key1" created"1387369332" modules="G01:G02:G03:G04:P01" cached_until="1387369632">
    ...
  </guild>
  <guild apikey="key2" created"1387369332" modules="P01" cached_until="1387369632">
    ...
  </guild>
</ryzomapi>

Fehler bei ungültigem Schlüssel:

<guild apikey="key1" created="1387369873">
  <error code="404">ungültiger Schlüssel</error>
</guild>

Mögliche Fehlercodes sind auf API-Fehlercodes aufgelistet.

PHP-Interface

ryzom_guild_api($apikey)

$apikey kann entweder ein String oder ein Array von Strings sein

Funktion gibt assoziatives Array von SimpleXMLElement mit $apikey als Array-Index zurück Bei Fehlschlag gibt die Funktion den booleschen Wert false zurück

<?php
require_once "ryzomapi_lite.php";

function info($guild) {
  if (isset($guild->error)) {
    $apikey = htmlspecialchars($guild['apikey']);
    $error = htmlspecialchars($guild->error);
    $code = (int)$guild->error['code'];
    echo "Gilden-API-Schlüssel '{$apikey}' gescheitert: {$code}:{$error}";
  } else {
    $name = htmlspecialchars($guild->name);
    echo "Gilden-Name: {$name}";
  }
}

$apikey = 'gABCDEF';
$guilds = ryzom_guild_api($apikey);
if ($guilds !== false) {
  info($guilds[$apikey]);
} else {
  echo "Gilden-API gescheitert";
}

$apikeys = ['gABCDEF', 'g123456'];
$guilds = ryzom_guild_api($apikeys);
if ($guilds !== false) {
  foreach($guilds as $guild) {
    info($guild);
  }
} else {
  echo "Gilden-API gescheitert";
}