Administra Cloud Anchors fuera de tu app de ARCore con Cloud Anchor de ARCore API de Cloud Management.
Cómo comenzar
Operaciones de ejemplo
- Enumera todas las Cloud Anchors
- Actualiza el tiempo de actividad de Cloud Anchor al tiempo máximo permitido
- Borra Cloud Anchors
Autorización
Crea una clave de cuenta de servicio en la Google Cloud Platform Console y genera un token de OAuth2 para autorizar las llamadas a la API de administración de Cloud Anchor.
En el menú de navegación de la Google Cloud Platform Console, ve a APIs & Services Credentials
Selecciona el proyecto deseado y haz clic en Create Credentials > Service account
En Service account details, escribe un nombre para la cuenta nueva. Luego, haz clic en Create.
En la página Service account permissions, ve a Select a role menú desplegable. Selecciona Service Accounts > Service Account Token Creator, y, luego, haz clic en Continue.
En la página Grant users access to this service account, haz clic en Done. Esta acción te lleva de regreso a APIs & Services > Credentials
En la página Credentials, desplázate hacia abajo hasta la sección Service Accounts. y haz clic en el nombre de la cuenta que acabas de crear.
En la página Service account details, desplázate hacia abajo hasta la sección Keys. y selecciona Add Key > Create new key
Selecciona JSON como el tipo de clave y haz clic en Create. Esta acción descarga un JSON que contiene la clave privada de tu máquina. Almacena el JSON descargado de claves en una ubicación segura.
Genera un token OAuth2
arcore.management
es el permiso de OAuth para la API de Cloud Anchors Management. De
de forma predeterminada, oauth2l funciona en la caché de token. El comando fetch
recupera el mismo
token. Usa oauth2l para generar un OAuth2.
token de autorización:
oauth2l fetch --json creds.json arcore.management
Para generar un token nuevo, agrega una opción --cache=""
a fetch
.
kubectl.
oauth2l fetch --cache="" --json creds.json arcore.management
Como alternativa, llama a oauth2l reset
y vuelve a llamar al comando fetch
.
oauth2l reset
oauth2l fetch --json creds.json arcore.management
Enumerar todas las Cloud Anchors
Obtén la primera página de Cloud Anchors, ordenada de forma opcional por expire_time
.
create_time
o last_localize_time
.
Solicitud:
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"
Respuesta:
{
"anchors": [
{
"name": "anchors/ua-a1cc84e4f11b1287d289646811bf54d1",
"createTime": "...",
"expireTime": "...",
"lastLocalizeTime": "...",
"maximumExpireTime": "..."
},
…
{
"name": "anchors/ua-41a3d0233471917875159f6f3c25ea0e",
"createTime": "...",
"expireTime": "...",
"lastLocalizeTime": "...",
"maximumExpireTime": "..."
}
],
nextPageToken: "some-long-string"
}
Si la respuesta muestra un nextPageToken
, hay más anclas para
lista. Usa el parámetro de consulta next_page_token
en la próxima solicitud para recuperarla.
el siguiente conjunto de resultados.
Solicitud:
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"
Cuando se usan next_page_token
, page_size
y order_by
deben ser coherentes
entre las solicitudes. La configuración predeterminada de page_size
es 1000
y la de order_by
es de
expire_time_desc
Actualiza el tiempo de actividad de Cloud Anchor al tiempo máximo permitido
Solicita un solo Cloud Anchor para consultar su lastLocalizeTime
y
maximumExpireTime
Solicitud:
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"
Respuesta:
{
"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 vez que tengas el ancla, actualiza su expireTime
a su maximumExpireTime
.
Solicitud:
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" }'
Respuesta:
{
"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"
}
Borra Cloud Anchors
Borra una sola 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"
Borra un lote de Cloud Anchors:
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" ]}'