Table of Contents

Abrufen und verwenden von API Key

In der EasyAR Entwicklungszentrale gibt es keine Beschränkung für die Erstellung von API Keys. Es wird empfohlen, verschiedenen Anwendungen separate API Keys zuzuweisen, um Berechtigungen präziser zu steuern.

Erstellen eines API Key

Melden Sie sich im EasyAR Entwicklungszentrum an. Wenn Sie zum ersten Mal einen API Key verwenden, erstellen Sie bitte zunächst einen API Key. Die Schritte sind wie folgt:

  • Klicken Sie unter „Autorisierung“ auf „Cloud-Dienste API KEY“
  • Klicken Sie auf der „API KEY“-Seite auf den Button „API KEY erstellen“

APIKey

  • Tragen Sie einen „Anwendungsnamen“ ein
  • Aktivieren Sie die benötigten Cloud-Dienste entsprechend Ihren Anwendungsanforderungen; eine vollständige Autorisierung wird nicht empfohlen.
  • Klicken Sie auf „Bestätigen“
Tipp

Bei der Verwendung von SpatialMap aktivieren Sie SpatialMap.

Bei der Verwendung von Cloud-Erkennung aktivieren Sie Cloud-Erkennung.

Bei der Verwendung von Mega Landmark aktivieren Sie Mega Landmark; diese Funktion muss vor der Nutzung beim Vertrieb beantragt werden.

Bei der Verwendung des AR Betriebszentrums aktivieren Sie AR Betriebszentrum; diese Funktion muss vor der Nutzung beim Vertrieb beantragt werden.

Bei der Verwendung von Mega Block Cloud-Positionierung aktivieren Sie Mega Block.

APIKey

  • Es werden nun API Key und API Secret generiert, wie unten gezeigt. Achten Sie darauf, diese nicht preiszugeben.

APIKey

Warnung

Verwenden Sie API Key und API Secret nicht direkt in Client-Anwendungen (z.B. Web, WeChat Mini-Programme usw.).

Abrufen eines Tokens

Es gibt zwei Möglichkeiten, ein Token zu erhalten: 1. Direkt aus dem Entwicklungszentrum; 2. Durch Programmierung. Wenn Sie Zugriffsrechte auf Ressourcen kontrollieren müssen, wird die zweite Methode empfohlen. Nachfolgend werden beide Methoden beschrieben. Wählen Sie je nach Bedarf aus.

Token aus dem Entwicklungszentrum abrufen

  • Wählen Sie den gewünschten API Key aus und klicken Sie rechts auf „Verwalten“

APIKeyToken

  • Wählen Sie eine Gültigkeitsdauer für das Token aus
  • Klicken Sie auf „Token generieren“
  • Klicken Sie auf „Kopieren“

APIKeyToken

Anmerkung

Sicherheit ist der Hauptgrund für die Festlegung der Token-Gültigkeit. Wenn ein Token zu lange gültig ist, kann es bei Verlust oder Diebstahl lange missbraucht werden, was zu Datenlecks oder unbefugten Aktionen führt. Eine zeitliche Begrenzung reduziert das Risiko, indem der Schaden zeitlich eingegrenzt wird.

Generieren eines Tokens mit API Key und API Secret

Der Token-Generierungsprozess erfordert eine Signierung der Kernparameter zur Gewährleistung der Übertragungssicherheit. Die signierten Daten werden dann an den STS-Dienst (Security Token Service) zur Authentifizierung gesendet. Nach erfolgreicher Validierung stellt der STS-Dienst ein temporäres Zugriffstoken aus, das nur innerhalb eines bestimmten Zeitfensters gültig ist. Nach Ablauf muss der Authentifizierungsprozess neu gestartet werden.

Warnung

Generieren Sie das Token nicht im Client-Code, sondern auf dem Server und übergeben Sie es dann an den Client.

Anforderungsparameter

Feldname Typ Erforderlich? Beschreibung
apiKey string Ja API Key
expires int Ja Gültigkeitsdauer des generierten Tokens in Sekunden
acl string Ja Zugriffssteuerungsliste (Access Control List), steuert Ressourcenzugriffsrechte des Tokens
timestamp long Ja Zeitstempel in Millisekunden
signature string Ja Signatur

acl: Besteht aus einem oder mehreren ACs (Zugriffskontrollen). Jeder AC umfasst vier Teile: service, effect, resource, permission.

  1. service: Diensttyp, derzeit unterstützt: ecs:crs (Cloud Recognition), ecs:spatialmap (Sparse Spatial Map), ecs:cls (Mega Block Cloud Positioning), ecs:vps1 (Landmark)
  2. resource: App-ID des spezifischen Dienstes, z.B. CRS AppId der Cloud Recognition-Bibliothek
  3. effect: Legt fest, ob der Zugriff bei Übereinstimmung mit dieser resource-Konfiguration ausgeführt werden kann. Werte: Allow, Deny
  4. permission: Berechtigungswerte: READ, WRITE

Strukturbeispiel:

[
  {
    "service": "ecs:crs",
    "resource": ["f7ff497727ab2d55ea01d9984ef8068c"],
    "effect": "Allow",
    "permission": ["READ"]
  }
]

Signaturmethode

  1. Sortieren Sie alle Parameter des Requests nach Schlüsselname
  2. Verketten Sie für jeden Parameter Schlüsselname und Wert zu einer Zeichenkette
  3. Verketten Sie alle resultierenden Zeichenketten und hängen Sie das API Secret an
  4. Der Hexadezimalwert des SHA-256-Hash der Zeichenkette ist die Signatur
Signaturbeispiel
<?php
// Ihr API-Schlüssel und API-Geheimnis
$apiKey = '6a47f7f8ff6......68744b4bcf';
$apiSecret = '87745d866345256b......fbae27c502a';
// Ihre Dienst-App-ID
$appId = 'f7ff497727ab2d55ea01d9984ef8068c';
// Gültigkeitsdauer in Sekunden
$expires = 3600;

// Zu signierende Parameter erstellen
$data = [
    'apiKey' => $apiKey,
    'expires' => $expires,
    'acl' => '[{"service":"ecs:crs","resource":["'. $appId .'"],"effect":"Allow","permission":["READ"]}]',
    'timestamp' => time() * 1000,
];

// Sortieren
ksort($data);

// Zeichenkette verketten
$builder = [];
foreach ($data as $key => $value) {
    array_push($builder, $key . $value);
}

// API-Geheimnis anhängen
array_push($builder, $apiSecret);

// Signatur generieren
$signature = hash('sha256', implode('', $builder));
echo $signature;
Tipp

Beim Einbinden in die Signatur muss ACL in einen JSON-String konvertiert werden.

Token abrufen

Fügen Sie die generierte Signatur zur Parameterliste hinzu und senden Sie die Anfrage an den Endpunkt /token/v2, um das Token zu erhalten.

  • Anfrageadresse: https://uac.easyar.com/token/v2 oder https://uac-na1.easyar.com/token/v2 (Nordamerika-1-Zone)
  • Anfragemethode: POST
  • Anfragekopf: Content-Type: application/json
  • Anfrageparameter: {"apiKey":"6a47f7f8ff6......68744b4bcf","expires":3600,"acl":"[{\"service\":\"ecs:crs\",\"resource\":[\"f7ff497727ab2d55ea01d9984ef8068c\"],\"effect\":\"Allow\",\"permission\":[\"READ\"]}]","timestamp":1765954279002,"signature":"32f18a37fc3c18......55c4943af9"}

Beispiel:

curl -X POST https://uac.easyar.com/token/v2 \
-H 'Content-Type: application/json' \
-d '{"apiKey":"6a47f7f8ff6......68744b4bcf","expires":3600,"acl":"[{\"service\":\"ecs:crs\",\"resource\":[\"f7ff497727ab2d55ea01d9984ef8068c\"],\"effect\":\"Allow\",\"permission\":[\"READ\"]}]","timestamp":1765954279002,"signature":"32f18a37fc3c18......55c4943af9"}'

Wenn statusCode im Rückgabeergebnis 0 ist, bedeutet das Erfolg.

Normales Rückgabeformat:

{
  "statusCode": 0,
  "timestamp": 1765954874399,
  "msg": "Success",
  "result": {
    "apiKey": "6a47f7f8ff6......68744b4bcf",
    "expires": 3600,
    "token": "nuPDCj......xstQX",
    "expiration": "2025-12-17T08:01:14.399+0000"
  }
}
  • token: Das Token zur Authentifizierung von Geschäftsanfragen.
  • expiration: Die Ablaufzeit des Tokens. Nach Ablauf muss ein neues Token angefordert werden.

Fehlerrückgabeformat:

{
  "statusCode": 4001017,
  "timestamp": 1765954666624,
  "msg": "AppId is not authorized by this API Key",
  "result": null
}

Verwenden des Tokens

Fügen Sie das Token im Header von HTTPS-Anfragen hinzu. Format: {"Authorization": "nuPDCj......xstQX"}.

Beim Senden von API-Anfragen muss der Parameter appId hinzugefügt werden (Informationen zur Beschaffung finden Sie im Entwicklungszentrum unter dem entsprechenden Dienst).

Fehlercode-Erläuterung

Während der Token-Generierung und -Verwendung können verschiedene Fehler auftreten. Zur schnellen Problembehebung finden Sie nachfolgend eine detaillierte Erklärung gängiger Fehlercodes:

Fehlercode Fehlermeldung Fehlerbeschreibung Lösung
4001011 API Key invalid API Key ungültig Prüfen Sie unter „Cloud-Dienste API KEY“, ob dieser API Key existiert
4001012 Timestamp invalid Zeitstempel ungültig Zeitstempel in Millisekunden; Abweichung zur Standardzeit sollte 5 Minuten nicht überschreiten
4001015 Signature invalid Signatur ungültig Prüfen Sie den Signaturalgorithmus und ob API Secret zum API Key passt
4001017 AppId is not authorized by this API Key API Key hat diese AppId nicht autorisiert Prüfen Sie, ob der Dienst der AppId diesem API Key zugeordnet ist
4001018 Base64 decode error Authorization im Header ist kein gültiges Base64-Format Verwenden Sie das erhaltene Token direkt ohne Bearbeitung
4001019 Decryption error Authorization im Header wurde nicht von EasyAR generiert Verwenden Sie das erhaltene Token direkt ohne Bearbeitung
4001022 API Key's resource is empty API Key hat keine zugeordneten Cloud-Dienste Prüfen Sie, ob dem API Key Cloud-Dienste zugeordnet sind und ob diese abgelaufen sind
4001024 Token is expired Token ist abgelaufen Neu generieren
4001025 Token generate fail Token-Generierung fehlgeschlagen Kontaktieren Sie den technischen Support: support@easyar.com