Ryzom API/Charakter: Unterschied zwischen den Versionen
Aus EnzyklopAtys
Leda (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<noinclude>{{Trad|DE=Ryzom API/Charakter|EN=Ryzom API/Character|palette=api |H=1}}</noinclude> Zugang zu Charakterinformationen. === Verwendung === <base URL…“) |
(kein Unterschied)
|
Aktuelle Version vom 27. Mai 2023, 10:40 Uhr
Zugang zu Charakterinformationen.
Inhaltsverzeichnis
Verwendung
<base URL>/character.php?apikey=key <base URL>/character.php?apikey[=key1&apikey[]=key2
URL-Parameter
- apikey
- Charakter-API-Schlüssel beginnt mit 'c'
Cache-Laufzeit
<character> xml-Element hat die Attribute *created* und *cached_until* (utc-Zeitstempel)
XML-Struktur
API ist in der Lage, Informationen über mehrere Charaktere auf einmal zurückzugeben, und daher ist jedes <character>-Element ein Kind des <ryzomapi>-Wurzelelements:
<ryzomapi> <character apikey="key1" created="1387369332" modules="C01:P01" cached_until="1387369632"> .... </character> <character apikey="key2" created="1387369332" modules="P01" cached_until="1387369632"> .... </character> </ryzomapi>
Fehler bei ungültigem Schlüssel:
<character apikey="key1" created="1387369873"> <error code="404">Ungültiger Schlüssel</error> </character>
Mögliche Fehlercodes sind auf API-Fehlercodes aufgelistet.
PHP-Interface
ryzom_character_api($apikey)
- $apikey kann entweder ein String (einzelner Schlüssel) oder ein Array von Strings sein.
Bei Erfolg gibt die Funktion ein assoziatives Array von SimpleXMLElement mit apikey als Array-Index zurück. Bei einem Fehler gibt die Funktion den booleschen Wert false zurück.
<?php require_once "ryzomapi_lite.php";
function info($char) { if (isset($char->error)) { $apikey = htmlspecialchars($char['apikey']); $error = htmlspecialchars($char->error); $code = (int)$char->error['code']; echo "Character API key '{$apikey}' failed: {$code}:{$error}"; } else { $name = htmlspecialchars($char->name); echo "Character name: {$name}"; } }
$apikey = 'cABCDEF'; $chars = ryzom_character_api($apikey); if ($chars !== false) { info($chars[$apikey]); } else { echo "Character API failed"; }
$apikeys = ['cABCDEF', 'c123456']; $chars = ryzom_character_api($apikeys); if ($chars !== false) { foreach($chars as $char) { info($char); } } else { echo "Charakter-API gescheitert"; }