Interfejs API ARCore Cloud Anchor Management

Zarządzaj kotwicami w chmurze poza aplikacją ARCore za pomocą interfejsu ARCore Cloud Anchor Management API.

Pierwsze kroki

Przykładowe operacje

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.

  1. W menu nawigacyjnym konsoli Google Cloud Platform wybierz APIs & Services > Credentials.

  2. Wybierz projekt i kliknij Create Credentials > Service account.

  3. W polu Service account details wpisz nazwę nowego konta, a następnie kliknij Create.

  4. Na stronie Service account permissions otwórz menu Select a role. Wybierz Service Accounts > Service Account Token Creator i kliknij Continue.

  5. Na stronie Grant users access to this service account kliknij Done. Spowoduje to powrót do sekcji APIs & Services > Credentials.

  6. Przewiń stronę Credentials w dół do sekcji Service Accounts i kliknij nazwę nowo utworzonego konta.

  7. Na stronie Service account details przewiń w dół do sekcji Keys i wybierz Add Key > Create new key.

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