API ARCore Cloud Anchor Management

Gestisci gli ancoraggi Cloud al di fuori della tua app ARCore utilizzando l'API di gestione degli ancoraggi Cloud ARCore.

Come iniziare

Operazioni di esempio

Autorizzazione

Crea una chiave dell'account di servizio nella console di Google Cloud Platform e genera un token OAuth2 per autorizzare le chiamate API di gestione di Cloud Anchor Management.

  1. Nel menu di navigazione della console di Google Cloud Platform, vai a APIs & Services > Credentials.

  2. Seleziona il progetto che ti interessa e fai clic su Create Credentials > Service account.

  3. In Service account details, digita un nome per il nuovo account e fai clic su Create.

  4. Nella pagina Service account permissions, vai al menu a discesa Select a role. Seleziona Service Accounts > Service Account Token Creator, poi fai clic su Continue.

  5. Nella pagina Grant users access to this service account, fai clic su Done. Torna a APIs & Services > Credentials.

  6. Nella pagina Credentials, scorri verso il basso fino alla sezione Service Accounts e fai clic sul nome dell'account appena creato.

  7. Nella pagina Service account details, scorri verso il basso fino alla sezione Keys e seleziona Add Key > Create new key.

  8. Seleziona JSON come tipo di chiave e fai clic su Create. In questo modo viene scaricato un file JSON contenente la chiave privata sulla tua macchina. Archivia il file di chiave JSON scaricato in un luogo sicuro.

Generare un token OAuth2

arcore.management è l'ambito OAuth per l'API Cloud Anchors Management. Per impostazione predefinita, oauth2l funziona su una cache dei token. Il comando fetch recupera lo stesso token. Utilizza oauth2l per generare un token OAuth2 per l'autorizzazione:

oauth2l fetch --json creds.json arcore.management

Per generare un nuovo token, aggiungi un'opzione --cache="" al comando fetch.

oauth2l fetch --cache="" --json creds.json arcore.management

In alternativa, chiama oauth2l reset e richiama nuovamente il comando fetch.

oauth2l reset
oauth2l fetch --json creds.json arcore.management

Elenco di tutti gli ancoraggi Cloud

Visualizza la prima pagina di ancoraggi Cloud, ordinata facoltativamente per expire_time, create_time o last_localize_time.

Richiesta:

export BEARER_TOKEN=`(oauth2l fetch --json creds.json arcore.management)`
curl -H "Authorization: Bearer $BEARER_TOKEN" \
"https://arcore.googleapis.com/v1beta2/management/anchors?page_size=50&order_by=last_localize_time%20desc"

Risposta:

{
  "anchors": [
    {
      "name": "anchors/ua-a1cc84e4f11b1287d289646811bf54d1",
      "createTime": "...",
      "expireTime": "...",
      "lastLocalizeTime": "...",
      "maximumExpireTime": "..."
    },
   …
    {
      "name": "anchors/ua-41a3d0233471917875159f6f3c25ea0e",
      "createTime": "...",
      "expireTime": "...",
      "lastLocalizeTime": "...",
      "maximumExpireTime": "..."
    }
  ],
  nextPageToken: "some-long-string"
}

Se la risposta viene restituita con un valore nextPageToken, sono presenti altri ancoraggi da elencare. Utilizza il parametro di query next_page_token nella richiesta successiva per recuperare il successivo insieme di risultati.

Richiesta:

curl -H "Authorization: Bearer $BEARER_TOKEN" \
"https://arcore.googleapis.com/v1beta2/management/anchors?page_size=50&order_by=last_localize_time%20desc&next_page_token=your-next-page-token-here"

Quando utilizzi next_page_token, page_size e order_by devono essere coerenti tra le richieste. Il valore predefinito di page_size è 1000 e di order_by è expire_time_desc.

Aggiorna la durata di un anchor Cloud fino al tempo massimo consentito

Richiedi un singolo ancoraggio Cloud per eseguire query su lastLocalizeTime e maximumExpireTime.

Richiesta:

export BEARER_TOKEN=`(oauth2l fetch --json creds.json arcore.management)`
curl -H "Authorization: Bearer $BEARER_TOKEN" \
"https://arcore.googleapis.com/v1beta2/management/anchors/your-anchor-id-here"

Risposta:

{
  "name": "anchors/ua-f21be53fd8ea57f0169c69fbf827f6b7",
  "createTime": "2020-06-29T21:00:00Z",
  "expireTime": "2020-08-28T22:00:00Z",
  "lastLocalizeTime": "2020-06-29T21:00:00Z",
  "maximumExpireTime": "2021-06-29T21:00:00Z"
}

Una volta che hai l'ancoraggio, aggiorna il relativo expireTime al suo maximumExpireTime.

Richiesta:

curl -H "Authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" -X "PATCH" \
"https://arcore.googleapis.com/v1beta2/management/anchors/your-anchor-id-here?updateMask=expire_time" \
-d '{ expireTime: "2021-06-29T21:00:00Z" }'

Risposta:

{
  "name": "anchors/ua-f21be53fd8ea57f0169c69fbf827f6b7",
  "createTime": "2020-06-29T21:00:00Z",
  "expireTime": "2021-06-29T21:00:00Z",
  "lastLocalizeTime": "2020-06-29T21:00:00Z",
  "maximumExpireTime": "2021-06-29T21:00:00Z"
}

Eliminazione Cloud anchor

Elimina un singolo Cloud Anchor:

export BEARER_TOKEN=`(oauth2l fetch --json creds.json arcore.management)`
curl -H "Authorization: Bearer $BEARER_TOKEN" -X "DELETE" \
"https://arcore.googleapis.com/v1beta2/management/anchors/your-anchor-id-here"

Elimina un gruppo di ancoraggi Cloud:

export BEARER_TOKEN=`(oauth2l fetch --json creds.json arcore.management)`
curl -H "Authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" -X "POST" \
"https://arcore.googleapis.com/v1beta2/management/anchors:batchDelete" \
-d '{ names: [ "anchors/your-anchor-id-here", "anchors/your-anchor-id-here" ]}'