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
- Elenco di tutti i Cloud anchor
- Aggiornare la durata di un anchor Cloud al tempo massimo consentito
- Eliminare Cloud anchor
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.
Nel menu di navigazione della console di Google Cloud Platform, vai a APIs & Services > Credentials.
Seleziona il progetto che ti interessa e fai clic su Create Credentials > Service account.
In Service account details, digita un nome per il nuovo account e fai clic su Create.
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.
Nella pagina Grant users access to this service account, fai clic su Done. Torna a APIs & Services > Credentials.
Nella pagina Credentials, scorri verso il basso fino alla sezione Service Accounts e fai clic sul nome dell'account appena creato.
Nella pagina Service account details, scorri verso il basso fino alla sezione Keys e seleziona Add Key > Create new key.
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" ]}'