Fallstricke
Von all dem ist nichts ein Fehler. Es ist ein Verhalten, über das es besser ist, sich in der Dokumentation zu informieren, als es aus der Analyse einer fremden Antwort herauszufinden.
In der Antwort gibt es ein zusätzliches Feld _footer
Abschnitt betitelt „In der Antwort gibt es ein zusätzliches Feld _footer“Die kostenlose Tarifstufe und jeder Aufruf ohne Schlüssel erhalten im Antwortkörper ein zusätzliches Feld _footer mit einer Signatur. Bezahlte Schlüssel sehen es nicht. Wenn dein Parser streng auf zusätzliche Felder prüft, wird er daran zuerst stolpern.
Wiederholte identische Aufrufe kosten nichts
Abschnitt betitelt „Wiederholte identische Aufrufe kosten nichts“Ein identischer Aufruf innerhalb des Cache-Fensters gibt X-Cache: HIT zurück, und ein solcher Aufruf verbraucht keine Kredits: In der Antwort steht X-Credits-Used: 0, und der verbleibende Betrag wird zurückerstattet. Das heißt, du kannst die Kosten nicht messen, indem du denselben Aufruf mehrmals sendest: Du zahlst einmal.
Sandbox-Schlüssel verbrauchen nichts
Abschnitt betitelt „Sandbox-Schlüssel verbrauchen nichts“aw_test_* verbraucht überhaupt keine Kredits und zählt nicht zum Kontingent des Kontos. Das ist keine “kleine Quote”, es ist null. Du solltest darauf entwickeln, und aw_live_* erst dann verwenden, wenn du das Billing überprüfst.
Unbekannte Felder werden still ignoriert
Abschnitt betitelt „Unbekannte Felder werden still ignoriert“Der Antwortkörper nimmt zusätzliche Schlüssel an und ignoriert sie. Die Ausnahme sind nur explizit abgelehnte Kurzschreibweisen (lat, tz und der Rest, siehe Feldformate). Daher wird ein Tippfehler im Feldnamen normalerweise nicht bemerkt: Du erhältst 200 und eine Karte, die ohne deinen Parameter berechnet wurde.
Jenseits des Polarkreises wird das Häusersystem ersetzt
Abschnitt betitelt „Jenseits des Polarkreises wird das Häusersystem ersetzt“Für Quadrantensysteme bei |latitude| > 66.5° werden die Kuspen als Porphyry berechnet, da diese Systeme dort nicht definiert sind. Wir verbergen das nicht: In der Antwort erscheint ein Feld warning. Whole Sign und Equal funktionieren auf jeder Breite.
Den benachbarten Fall haben wir mit einer Ablehnung geschlossen: Ein unbekannter houseSystem-Code gibt nicht länger Placidus unter einem anderen Namen zurück, sondern gibt 400 zurück.
Ein Schlüssel hat drei unabhängige Grenzen
Abschnitt betitelt „Ein Schlüssel hat drei unabhängige Grenzen“Der Browser-Schlüssel pk_ und der geheime aw_ können gleichzeitig drei Einschränkungen tragen, und sie ersetzen sich nicht gegenseitig:
| Grenze | Was es besagt | Ablehnung |
|---|---|---|
| Domänenliste | Von wo aus aufgerufen werden kann | 403 ORIGIN_REQUIRED / ORIGIN_NOT_ALLOWED |
credits_cap_cycle | Wie viel dieser Schlüssel ausgeben kann | 429 KEY_BUDGET_EXHAUSTED |
allowed_endpoints | Was genau aufgerufen werden kann | 403 ENDPOINT_NOT_IN_SCOPE |
Der Endpunkt-Bereich befreit nicht von Lesevorgängen für Dienste: Ein auf embed/* eingeschränkter Schlüssel kann nicht einmal seine eigene Statistik lesen. Das ist beabsichtigt, Details in der Authentifizierung.
Die Änderung eines Schlüssels wirkt sich ab dem nächsten Aufruf aus
Abschnitt betitelt „Die Änderung eines Schlüssels wirkt sich ab dem nächsten Aufruf aus“Schlüssel werden für 60 Sekunden gecacht, aber jede Änderung über PATCH /v1/keys/{id} setzt den Cache sofort zurück. Du musst nicht eine Minute warten.