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
- Répertorier toutes les ancres cloud
- Mettre à jour la valeur TTL d'une ancre cloud sur la valeur maximale autorisée
- Supprimer des ancres cloud
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.
Dans le menu de navigation 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 le nom du nouveau compte, puis cliquez sur Create.
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.
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 vers le bas jusqu'à la section Service Accounts. et cliquez sur le nom du compte que vous venez de créer.
Faites défiler la page Service account details vers le bas jusqu'à la section Keys. et sélectionnez Add Key > Create new key
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" ]}'