Table of Contents

Ottenere e utilizzare API Key

Creare API Key nel centro di sviluppo EasyAR non ha limiti di quantità. Si consiglia di assegnare API Key indipendenti per applicazioni diverse, per un controllo più granulare delle autorizzazioni.

Creare API Key

Accedi al centro di sviluppo EasyAR view/login.html. Se utilizzi API Key per la prima volta, creane una seguendo questi passaggi:

  • In "Autorizzazioni", clicca su "API KEY servizi cloud"
  • Nella pagina "API KEY", clicca sul pulsante "Crea API KEY"

APIKey

  • Compila "Nome applicazione"
  • Seleziona i servizi cloud necessari in base alle esigenze della tua applicazione. Non è consigliabile autorizzare tutti.
  • Clicca "Conferma"
Consiglio

Per utilizzare SpatialMap, seleziona SpatialMap.

Per utilizzare riconoscimento cloud, seleziona riconoscimento cloud.

Per Mega Landmark, seleziona Mega Landmark. Prima di utilizzare questa funzione, contatta il reparto commerciale.

Per il centro operativo AR, seleziona centro operativo AR. Prima di utilizzare questa funzione, contatta il reparto commerciale.

Per localizzazione cloud Mega Block, seleziona Mega Block.

APIKey

  • Verranno generati API Key e API Secret, come mostrato di seguito. Attenzione a non divulgarli.

APIKey

Avvertenza

Non utilizzare direttamente API Key e API Secret in applicazioni client (come Web, mini-program WeChat, ecc.).

Ottenere token

Esistono due modi per ottenere un token: 1. Ottenere direttamente dal centro di sviluppo; 2. Generare tramite codice. Se hai esigenze di controllo delle autorizzazioni per le risorse, si consiglia il secondo metodo. Di seguito vengono descritti entrambi, scegli in base alle tue necessità.

Ottenere token dal centro di sviluppo

  • Seleziona l'API Key che desideri utilizzare, clicca su "Gestisci" a destra

APIKeyToken

  • Seleziona una durata valida per il token
  • Clicca "Genera token"
  • Clicca "Copia"

APIKeyToken

Nota

‌La sicurezza è la ragione principale per impostare la durata del token.‌ Se il token rimane valido troppo a lungo, in caso di furto o compromissione, un attaccante potrebbe utilizzarlo a lungo, causando perdita di dati o operazioni non autorizzate. Una durata limitata riduce la finestra di rischio.

Generare token utilizzando API Key e API Secret

La generazione del token richiede la firma dei parametri principali per garantire la sicurezza della trasmissione. I dati firmati vengono poi inviati al servizio STS (Security Token Service) per l'autenticazione. Dopo la verifica, STS rilascia un token di accesso temporaneo, valido solo entro un intervallo di tempo specificato. Scaduto tale intervallo, è necessario ripetere il processo.

Avvertenza

Non generare token nel codice client, ma generalo lato server e poi trasmettilo al client.

Parametri della richiesta

Nome campo Tipo Obbligatorio Descrizione
apiKey string API Key
expires int Tempo di validità del token generato, in secondi
acl string Access Control List (Access Control List), controlla le autorizzazioni di accesso alle risorse del token
timestamp long Timestamp, in millisecondi
signature string Firma

acl: composto da uno o più AC (controllo di accesso), ogni AC contiene quattro parti: service, effect, resource, permission.

  1. service: tipo di servizio, attualmente supporta ecs:crs (riconoscimento cloud), ecs:spatialmap (mappa spaziale sparsa), ecs:cls (Mega Block cloud localization), ecs:vps1 (landmark)
  2. resource: app id del servizio specifico, ad esempio CRS AppId della libreria di riconoscimento cloud
  3. effect: specifica se l'accesso corrispondente a questa voce di configurazione resource può essere eseguito, valori Allow, Deny
  4. permission: valori di permesso READ, WRITE

Struttura di esempio:

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

Metodo di firma

  1. Ordina tutti i parametri della richiesta per nome
  2. Per ogni parametro, concatena nome e valore in una stringa
  3. Unisci tutte le stringhe risultanti e aggiungi API Secret alla fine
  4. Calcola lo sha256 della stringa in esadecimale: questa è la firma
Esempio di firma
<?php
// La tua chiave API e API Secret
$apiKey = '6a47f7f8ff6......68744b4bcf';
$apiSecret = '87745d866345256b......fbae27c502a';
// Il tuo App ID del servizio
$appId = 'f7ff497727ab2d55ea01d9984ef8068c';
// Tempo valido, in secondi
$expires = 3600;

// Costruisci i parametri da firmare
$data = [
    'apiKey' => $apiKey,
    'expires' => $expires,
    'acl' => '[{"service":"ecs:crs","resource":["'. $appId .'"],"effect":"Allow","permission":["READ"]}]',
    'timestamp' => time() * 1000,
];

// Ordina
ksort($data);

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

// Concatena API Secret
array_push($builder, $apiSecret);

// Genera la firma
$signature = hash('sha256', implode('', $builder));
echo $signature;
Consiglio

Durante la creazione della firma, converti ACL in stringa JSON.

Ottenere token

Aggiungi la firma generata all'elenco dei parametri e invia una richiesta all'endpoint /token/v2 per ottenere il token.

  • Indirizzo di richiesta: https://uac.easyar.com/token/v2 o https://uac-na1.easyar.com/token/v2 (Nord America zona 1)
  • Metodo di richiesta: POST
  • Intestazione: Content-Type: application/json
  • Parametri di richiesta: {"apiKey":"6a47f7f8ff6......68744b4bcf","expires":3600,"acl":"[{\"service\":\"ecs:crs\",\"resource\":[\"f7ff497727ab2d55ea01d9984ef8068c\"],\"effect\":\"Allow\",\"permission\":[\"READ\"]}]","timestamp":1765954279002,"signature":"32f18a37fc3c18......55c4943af9"}

Esempio:

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"}'

Se statusCode è 0 nella risposta, indica successo.

Formato risposta normale:

{
  "statusCode": 0,
  "timestamp": 1765954874399,
  "msg": "Success",
  "result": {
    "apiKey": "6a47f7f8ff6......68744b4bcf",
    "expires": 3600,
    "token": "nuPDCj......xstQX",
    "expiration": "2025-12-17T08:01:14.399+0000"
  }
}
  • token: Token di autenticazione per richieste di servizio.
  • expiration: Ora di scadenza del token, dopo la scadenza è necessario richiederne uno nuovo.

Formato risposta di errore:

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

Utilizzare token

Nelle richieste https di business, aggiungi il token nell'header con il formato: {"Authorization": "nuPDCj......xstQX"}.

Quando invii richieste API di business, aggiungi il parametro appId (per l'origine, consulta il servizio pertinente nel centro di sviluppo).

Descrizione codici di errore

Durante la generazione o l'utilizzo del token, potrebbero verificarsi errori o situazioni anomale. Per aiutare gli sviluppatori a identificare rapidamente i problemi e adottare soluzioni efficaci, di seguito sono descritti in dettaglio i codici di errore comuni e il loro significato:

Codice errore Messaggio errore Descrizione errore Soluzione
4001011 API Key invalid API Key non valida Verifica la presenza di questa API Key in "API KEY servizi cloud"
4001012 Timestamp invalid Timestamp non valido Il timestamp è in millisecondi e non deve discostarsi più di 5 minuti dal tempo standard
4001015 Signature invalid Firma non valida Controlla l'algoritmo di firma e verifica che API Secret corrisponda a API KEY
4001017 AppId is not authorized by this API Key API Key non autorizzata per questo AppId Controlla se il servizio di AppId è associato a questa API Key
4001018 Base64 decode error Authorization nell'header non è in formato base64 valido Utilizza il token ottenuto senza modifiche
4001019 Decryption error Authorization nell'header non è generato da EasyAR Utilizza il token ottenuto senza modifiche
4001022 API Key's resource is empty API Key non ha servizi cloud associati Controlla se API Key è associata a servizi cloud e se questi sono scaduti
4001024 Token is expired Token scaduto Rigenera
4001025 Token generate fail Generazione token fallita Contatta il supporto tecnico: support@easyar.com