Gérez les ancres cloud en dehors de votre application ARCore à l'aide de l'API ARCore Cloud Anchor Management.
Premiers pas
Exemples d'opérations
- Répertorier toutes les ancres cloud
- Mettre à jour la valeur TTL d'une ancre cloud en fonction de la durée maximale autorisée
- Supprimer les ancres cloud
Autorisation
Créez une clé de compte de service dans la console Google Cloud Platform, puis générez un jeton OAuth2 pour autoriser les appels d'API de gestion Cloud Anchor.
Dans le menu de navigation de la console Google Cloud Platform, accédez à APIs & Services > Credentials.
Sélectionnez le projet souhaité, puis cliquez sur Create Credentials > Service account.
Sous Service account details, saisissez un nom pour le nouveau compte, puis cliquez sur Create.
Sur la page Service account permissions, accédez au menu déroulant Select a role. Sélectionnez Service Accounts > Service Account Token Creator, puis cliquez sur Continue.
Sur la page Grant users access to this service account, cliquez sur Done. Cela vous ramène à APIs & Services > Credentials.
Faites défiler la page Credentials jusqu'à la section Service Accounts, puis cliquez sur le nom du compte que vous venez de créer.
Faites défiler la page Service account details jusqu'à la section Keys, puis sélectionnez Add Key > Create new key.
Sélectionnez JSON comme type de clé, puis cliquez sur Create. Un fichier JSON contenant la clé privée est alors téléchargé sur votre ordinateur. Stockez le fichier de clé 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 Cloud Anchors Management. Par défaut, oauth2l fonctionne sur un cache de jetons. La commande fetch
récupère le même jeton. Utilisez oauth2l pour générer un jeton OAuth2 pour l'autorisation:
oauth2l fetch --json creds.json arcore.management
Pour générer un nouveau jeton, ajoutez une option --cache=""
à la commande fetch
.
oauth2l fetch --cache="" --json creds.json arcore.management
Vous pouvez également appeler oauth2l reset
et appeler à nouveau 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
.
Demande :
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 à répertorier. 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.
Demande :
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. page_size
est défini par défaut sur 1000
, et order_by
est défini par défaut sur expire_time_desc
.
Mettre à jour la valeur TTL d'une ancre cloud pour la définir sur la durée maximale autorisée
Demandez un seul Cloud Anchor pour interroger ses lastLocalizeTime
et maximumExpireTime
.
Demande :
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 l'ancre, remplacez sa expireTime
par maximumExpireTime
.
Demande :
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" ]}'