API de ARCore Cloud Anchor Management

Administra Cloud Anchors fuera de tu app de ARCore con Cloud Anchor de ARCore API de Cloud Management.

Cómo comenzar

Operaciones de ejemplo

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.

  1. En el menú de navegación de la Google Cloud Platform Console, ve a APIs & Services Credentials

  2. Selecciona el proyecto deseado y haz clic en Create Credentials > Service account

  3. En Service account details, escribe un nombre para la cuenta nueva. Luego, haz clic en Create.

  4. 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.

  5. 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

  6. 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.

  7. En la página Service account details, desplázate hacia abajo hasta la sección Keys. y selecciona Add Key > Create new key

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