Zarządzaj kotwicami w chmurze poza aplikacją ARCore za pomocą interfejsu ARCore Cloud Anchor Management API.
Pierwsze kroki
Przykładowe operacje
- Wyświetl listę wszystkich kotwic w chmurze
- Zaktualizuj czas życia kotwicy w chmurze do maksymalnego dozwolonego czasu życia
- Usuwanie zakotwiczonych chmur
Upoważnienie
Utwórz klucz konta usługi w konsoli Google Cloud Platform i wygeneruj token OAuth2, aby autoryzować wywołania interfejsu Cloud Anchor Management API.
W menu nawigacyjnym konsoli Google Cloud Platform wybierz APIs & Services > Credentials.
Wybierz projekt i kliknij Create Credentials > Service account.
W polu Service account details wpisz nazwę nowego konta, a następnie kliknij Create.
Na stronie Service account permissions otwórz menu Select a role. Wybierz Service Accounts > Service Account Token Creator i kliknij Continue.
Na stronie Grant users access to this service account kliknij Done. Spowoduje to powrót do sekcji APIs & Services > Credentials.
Przewiń stronę Credentials w dół do sekcji Service Accounts i kliknij nazwę nowo utworzonego konta.
Na stronie Service account details przewiń w dół do sekcji Keys i wybierz Add Key > Create new key.
Wybierz JSON jako typ klucza i kliknij Create. Spowoduje to pobranie pliku JSON z kluczem prywatnym do Twojego komputera. Zapisz pobrany plik klucza JSON w bezpiecznej lokalizacji.
Generowanie tokena OAuth2
arcore.management
to zakres protokołu OAuth na potrzeby interfejsu Cloud Anchors Management API. Domyślnie protokół OAuth2l działa w pamięci podręcznej tokenów. Polecenie fetch
pobiera ten sam token. Użyj oauth2l, aby wygenerować token OAuth2 na potrzeby autoryzacji:
oauth2l fetch --json creds.json arcore.management
Aby wygenerować nowy token, dodaj opcję --cache=""
do polecenia fetch
.
oauth2l fetch --cache="" --json creds.json arcore.management
Możesz też wywołać polecenie oauth2l reset
i ponownie wywołać polecenie fetch
.
oauth2l reset
oauth2l fetch --json creds.json arcore.management
Wyświetlanie listy wszystkich kotwic w chmurze
Pobierz pierwszą stronę kotwic w chmurze, opcjonalnie posortowaną według tych danych: expire_time
, create_time
lub last_localize_time
.
Prośba:
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"
Odpowiedź:
{
"anchors": [
{
"name": "anchors/ua-a1cc84e4f11b1287d289646811bf54d1",
"createTime": "...",
"expireTime": "...",
"lastLocalizeTime": "...",
"maximumExpireTime": "..."
},
…
{
"name": "anchors/ua-41a3d0233471917875159f6f3c25ea0e",
"createTime": "...",
"expireTime": "...",
"lastLocalizeTime": "...",
"maximumExpireTime": "..."
}
],
nextPageToken: "some-long-string"
}
Jeśli w odpowiedzi wyświetli się nextPageToken
, będzie na liście więcej kotwic. Aby pobrać następny zestaw wyników, w następnym żądaniu użyj parametru zapytania next_page_token
.
Prośba:
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"
Gdy używasz właściwości next_page_token
, page_size
i order_by
muszą być spójne w różnych żądaniach. page_size
przyjmuje wartość domyślną 1000
, a order_by
– expire_time_desc
.
Zaktualizuj czas życia kotwicy w chmurze do maksymalnego dozwolonego czasu życia
Wyślij żądanie pojedynczego kotwicy Cloud do wysłania zapytania o lastLocalizeTime
i maximumExpireTime
.
Prośba:
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"
Odpowiedź:
{
"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"
}
Gdy utworzysz kotwicę, zaktualizuj expireTime
do maximumExpireTime
.
Prośba:
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" }'
Odpowiedź:
{
"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"
}
Usuń kotwice Cloud
Usuń jedną zakotwiczoną chmurę:
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"
Usuń grupę zakotwiczonych w chmurze:
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" ]}'