API ARCore Cloud Anchor Management

Gérer Cloud Anchors en dehors de votre application ARCore à l'aide d'ARCore Cloud Anchor de l'API Management.

Premiers pas

Exemples d'opérations

Autorisation

Créez une clé de compte de service la console Google Cloud Platform et générer un jeton OAuth2 pour autoriser les appels vers l'API de gestion Cloud Anchor.

  1. Dans le menu de navigation Console Google Cloud Platform, accédez à APIs & Services > Credentials

  2. Sélectionnez le projet souhaité, puis cliquez sur Create Credentials > Service account

  3. Sous Service account details, saisissez le nom du nouveau compte, puis cliquez sur Create.

  4. Sur la page Service account permissions, accédez à Select a role. liste déroulante. Sélectionnez Service Accounts > Service Account Token Creator, puis cliquez sur Continue.

  5. Sur la page Grant users access to this service account, cliquez sur Done. Cela vous ramène à APIs & Services > Credentials

  6. Faites défiler la page Credentials vers le bas jusqu'à la section Service Accounts. et cliquez sur le nom du compte que vous venez de créer.

  7. Faites défiler la page Service account details vers le bas jusqu'à la section Keys. et sélectionnez Add Key > Create new key

  8. Sélectionnez JSON comme type de clé, puis cliquez sur Create. Un fichier JSON est alors téléchargé contenant la clé privée à votre machine. Stocker le fichier JSON téléchargé dans un emplacement sécurisé.

Générer un jeton OAuth2

arcore.management est le champ d'application OAuth pour l'API de gestion des ancres cloud. Par Par défaut, oauth2l fonctionne sur un cache de jetons. La commande fetch récupère les mêmes à partir d'un jeton d'accès. Utiliser oauth2l pour générer un code OAuth2 pour l'autorisation:

oauth2l fetch --json creds.json arcore.management

Pour générer un nouveau jeton, ajoutez une option --cache="" à fetch. .

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

Vous pouvez également appeler oauth2l reset, puis rappeler la commande fetch.

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

Répertorier toutes les ancres cloud

Obtenez la première page des ancres cloud, éventuellement triées par expire_time, create_time ou last_localize_time.

Requête :

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"

Solution :

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

Si la réponse renvoie un nextPageToken, il y a plus d'ancres à liste. Utilisez le paramètre de requête next_page_token dans la requête suivante pour récupérer l'ensemble de résultats suivant.

Requête :

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"

Lorsque vous utilisez next_page_token, page_size et order_by doivent être cohérents. entre les requêtes. La valeur par défaut de page_size est 1000 et celle de order_by est définie par défaut sur expire_time_desc

Mettre à jour la valeur TTL d'une ancre cloud sur la valeur maximale autorisée

Demandez une seule ancre cloud pour interroger ses lastLocalizeTime et maximumExpireTime

Requête :

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"

Solution :

{
  "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"
}

Une fois que vous disposez de l'ancre, remplacez expireTime par son maximumExpireTime.

Requête :

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

Solution :

{
  "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"
}

Supprimer les ancres cloud

Supprimez une seule ancre 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"

Supprimez un lot d'ancres 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" ]}'