API ARCore Cloud Anchor Management

Gestire gli ancoraggi Cloud all'esterno dell'app ARCore utilizzando l'ancoraggio Cloud ARCore l'API di gestione.

Per iniziare

Operazioni di esempio

Autorizzazione

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

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

  2. Seleziona il progetto desiderato e poi fai clic su Create Credentials > Service account.

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

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

  5. Nella pagina Grant users access to this service account, fai clic su Done. Questa operazione ti riporta 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. Viene scaricato un file JSON contenente la chiave privata nella tua macchina. Archivia il file JSON scaricato il file della chiave in un luogo sicuro.

Genera un token OAuth2

arcore.management è l'ambito OAuth per l'API Cloud Anchors Management. Di per impostazione predefinita, oauth2l funziona su una cache di token. Il comando fetch recupera lo stesso di accesso. 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="" a fetch .

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

In alternativa, chiama oauth2l reset e di nuovo il comando fetch.

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

Elenco di tutti gli ancoraggi cloud

Visualizza la prima pagina degli ancoraggi Cloud, ordinata facoltativamente in base a 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 arriva con un nextPageToken, ci sono più ancoraggi a dall'elenco di lettura. Utilizza il parametro di query next_page_token nella prossima richiesta per recuperare la serie di risultati successiva.

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 si utilizzano next_page_token, page_size e order_by devono essere coerenti tra le richieste. Il valore predefinito di page_size è 1000 e il valore predefinito di order_by è expire_time_desc.

Aggiorna la durata di vita di un ancoraggio Cloud 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 trovato l'ancoraggio, aggiorna il relativo expireTime in 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"
}

Elimina anchor cloud

Elimina un singolo ancoraggio cloud:

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