Entwickler

Entwickler-Tracker: Änderungen an der API (Update 8.April)

Daniel Snider hat im englischen Forum Änderungen an der Schematik des GW2 API aufgeführt. Das Ziel der kürzlichen Änderungen, die Snider durchführte, ist es fehlende Daten zu verringern. Diese Anpassungen wirken sich vorallem auf der Entwicklerseite von externen Anwendungen für Guild Wars 2 aus.

Änderungen an der API

Update: 8. April

  • Endpunkte hinzugefügt
    • /v2/worldbosses und /v2/account/worldbosses
    • /v2/dailycrafting und /v2/account/dailycrafting
    • /v2/mapchests und /v2/account/mapchests
    • /v2/account/luck

Snider hat neue Endpunkte der Version 2 der GW2API hinzugefügt. Absofort lassen sich erledigte Weltenbosse, Materialien wie Deldrimorbarren und Kartentruhen der HoT-Karten über Tools tracken.
Ebenso wurde ein Endpunkt für Accountweites Glück hinzugefügt.

Änderungen an der API

Was ändert sich für den normalen Spieler, der Anwendungen wie GW2Efficiency verwendet? Die Änderungen betreffen nur Anfragen von Anwendungen wie eben GW2Efficiency an die API-Schnittstelle. Das heißt für den normalen Nutzer solcher, ändert sich nichts.

Die einzige Veränderung, die ersichtlich ist, sind die Abbauknoten in der Heimatinstanz. Das Beispiel von GW2Efficiency zeigt es – durch Sniders Anpassung sind die Gartenbeete jetzt abfragbar. Noch tauchen sie visuell nur als ? auf.

Die anderen Änderungen an der API betreffen vorallem das Schema. So wurde in der Kopfzeile eine Zeile ergänzt, die aussagt, wann der Endpunkt das letzte Mal aktualisiert wurde. Das hat vorallem aber nur Auswirkungen für die Entwicklerseite von Anwendungen. Wenn die Anwendung, die ihr nutzt also einen Absturz erlitten hat, schreibt es dem Entwickler. Eventuell muss er die Anfrage-Methode verändern.

last_modified

Änderungen am Schema führen zu Problemen innerhalb von Anwendungen, speziell bei mobilen Anwendungen. Hier liegt das Problem vorallem im Updateturnus. Um die Entwicklung nicht zu behindern, aber gleichzeitig die API flexibel zu gestalten, hat Snider die Begriffe ergänzt, welche verändert wurden. Dies verhindert zwar, dass vom letzten Schema aufs neue ohne Abstürze Anfragen eingereichet werden können. Allerdings ist der Ansatz nicht technisch einwandfrei: Sollte ein zukünftiges Schema weniger Informationen haben als das vorherige kann zu Abstürzen führen.

Request-Versionen für Entwickler

Snider hat 2 Beispiele für Anfragen bereitgestellt:

X-Schema-Version

fetch('https://api.guildwars2.com/v2/account', {headers: {
'X-Schema-Version': "2019-02-21T00:00:00Z",
'Authorization': `Bearer ${my_api_key}`}
})
.then((r) => r.json())
.then((data) => console.log(data.last_modified));

v query param

fetch(`https://api.guildwars2.com/v2/account?v=latest&access_token=${my_api_key}`)
.then((r) => r.json())
.then((data) => console.log(data.last_modified));

Für die Anwendung empfiehlt Snider eine statische Anfrage, so bleibt die App bei einer Änderung der GW2 API unbetroffen und läuft weiterhin. Wer lokal programmiert kann auf die Anfrage-Version mit latest zurückgreifen.

Desweiteren freut er sich über eure Gedanken diesbezüglich.

Aouglas

Aouglas (ich mag "Per Anhalter durch die Galaxis"), aber ihr könnt mich Jojo nennen, Jahrgang '94, erste Games "Duke Nukem" und "Age of Empires" und seitdem PC-Spieler. Nebenbei noch Student. Und stolzer Double Pistol Deadeye mit Siegeln-Spieler!

Ein Kommentar

Schreibe einen Kommentar

Back to top button
Close