Entwickler-Tracker: Änderungen an der API (Update 11./ 13. Juni)
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.
Update: 13. Juni
In dieser Aktualisierung hat Snider 2 fehlende Heimatknoten, einige Extras und den letzten Reittier-Skin ergänzt.
Ebenso wurde ein Trio erschaffen, indem /v2/stories
und /v2/stories/seasons
um den Endpunkt /v2/quests
vervollständigt wurden. Damit ist ein genauerer Detailgrad der Persönlichen Geschichte als Abfrage möglich. Desweiteren wurde die Möglichkeit geschaffen, den Fortschritt auch für einzelne Charaktere abzufragen, indem der Endpunkt /v2/characters/:id/quests
integriert wurde.
-
/v2/novelties
um fehlende Daten ergänzt.
/v2/mounts/skins
um fehlende Daten ergänzt.
/v2/quests
und/v2/characters/:id/quests
integriert.
Update: 11. Juni
Mit diesem Update hat Daniel Snider einen Endpunkt integriert, der die ganzen Extras (Spielzeuge, Stühle, Lenkdrachen, usw.) zur Abfrage bereitstellt.
-
/v2/novelties
ist jetzt verfügbar mit allen Extras. -
/v2/account/novelties
zeigt die freigeschalteten Extras eines Accounts.
Update: 21. Mai
Snider wurde gefragt, ob er die Änderungen am Schema zur Verfügung stellen kann.
Absofort können unter unter api.guildwars2.com/v2.json
Änderungen eingesehen werden, wenn darauf mit dem kürzlich eingeführten Schema zugegriffen wird.
Update: 20. Mai
Snider hat eine Unterkategorie der API-Schlüssel implementiert.
-
/v2/createsubtoken
Endpunkt hinzugefügt
Snider sagt selbst, dass die Anwendungsmöglichkeiten recht begrenzt sind. Sein Aussage mit App1 und App2 sieht folgendermaßen aus: App1 hat volle Rechte wegen des hinterlegten Keys und kann an App2 einen eingeschränkten, zeitlich begrenzten Subtoken weitergeben.
Beispiel:
Spieler X hat auf gw2efficiency (App1) einen API-Key mit allen Rechten hinterlegt. App2 wäre ein Analyse-Tool für die Garderobe. In dem Fall würde gw2efficiency beispielsweise einen Link zum Tool (App2) eingebettet haben, aber mit einem Subtoken, der nur Zugriff auf den Endpunkt /v2/account/skins
erlaubt.
Update: 15. Mai
/v2/achievements/daily
und/v2/achievements/daily/tomorrow
zeigenaccess_requirement
mitproduct
undcondition
Option an.product
ist entweder"HeartOfThorns"
oder"PathOfFire"
.condition
ist entwederHasAccess
oderNoAccess
.
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
- Verschiedene Endpunkte unter
v2/account
undv2/characters
geben jetzt einen Last-Modified Header aus. Anfragen respektieren If-Modified-Requests und werden notfalls einen 304 Not Modified ausgeben. v2/account
,v2/characters/:id
haben einlast_modified
Feld im jetztigen Schema (siehe unten)
v2/nodes
ist jetzt unterv2/home/nodes
. Alter Endpunkt ist weiter verfügbar.
v2/cats
ist jetzt unterv2/home/cats
. Alter Endpunkt ist weiter verfügbar.
v2/account/home/nodes
enthält jetzt alle Knoten inklusive des Gartenbeetes.
v2/account/home/cats
wurde verbessert und ähnelt dem Schema anderer Endpunkte.
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.
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.
[crp]
Hoffen wir mal, dass der Gecko noch freigegeben wird. Der fehlt immer noch in Efficency. :/
Dürfte inzwischen ergänzt und abfragbar sein 🙂
Was macht das Bild mit dem Katzengeist da? Was neues oder wie muss ich das deuten?
Da ist mir tatsächlich beim aktualisieren des Tracker ein kompletter Block gelöscht worden. Ursprüngliche News hat auch etwas mit den Katzen der Heimatinstanz zu tun. 🙂 Deshalb Simon, die Fraktalkatze.