Управляйте облачными привязками за пределами вашего приложения ARCore с помощью API управления облачными привязками ARCore.
Начиная
Примеры операций
- Список всех облачных якорей
- Обновите время облачной привязки, чтобы оно существовало до максимально допустимого времени.
- Удалить облачные привязки
Авторизация
Создайте ключ сервисного аккаунта в консоли Google Cloud Platform и сгенерируйте токен OAuth2 для авторизации вызовов API управления Cloud Anchor.
В меню навигации консоли Google Cloud Platform выберите APIs & Services > Credentials .
Выберите нужный проект, затем нажмите Create Credentials > Service account .
В разделе Service account details введите имя новой учетной записи, затем нажмите Create .
На странице Service account permissions перейдите к раскрывающемуся списку Select a role . Выберите Service Accounts > Service Account Token Creator , затем нажмите Continue .
На странице Grant users access to this service account нажмите Done . Вы вернетесь к APIs & Services > Credentials .
На странице Credentials прокрутите вниз до раздела Service Accounts и щелкните имя только что созданной учетной записи.
На странице Service account details прокрутите вниз до раздела Keys и выберите Add Key > Create new key .
Выберите JSON в качестве типа ключа и нажмите Create . На ваш компьютер будет загружен файл JSON, содержащий закрытый ключ. Сохраните загруженный файл ключа JSON в безопасном месте.
Создать токен OAuth2
arcore.management
— это область действия OAuth для API управления облачными привязками. По умолчанию oauth2l работает с кешем токенов. Команда fetch
извлекает тот же токен. Используйте oauth2l для создания токена OAuth2 для авторизации:
oauth2l fetch --json creds.json arcore.management
Чтобы сгенерировать новый токен, добавьте параметр --cache=""
к команде fetch
.
oauth2l fetch --cache="" --json creds.json arcore.management
Альтернативно, вызовите oauth2l reset
и снова вызовите команду fetch
.
oauth2l reset
oauth2l fetch --json creds.json arcore.management
Список всех облачных якорей
Получите первую страницу облачных привязок, опционально отсортированную по expire_time
, create_time
или last_localize_time
.
Запрос:
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"
Ответ:
{
"anchors": [
{
"name": "anchors/ua-a1cc84e4f11b1287d289646811bf54d1",
"createTime": "...",
"expireTime": "...",
"lastLocalizeTime": "...",
"maximumExpireTime": "..."
},
…
{
"name": "anchors/ua-41a3d0233471917875159f6f3c25ea0e",
"createTime": "...",
"expireTime": "...",
"lastLocalizeTime": "...",
"maximumExpireTime": "..."
}
],
nextPageToken: "some-long-string"
}
Если ответ возвращается с nextPageToken
, в списке есть еще привязки. Используйте параметр запроса next_page_token
в следующем запросе, чтобы получить следующий набор результатов.
Запрос:
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"
При использовании next_page_token
page_size
и order_by
должны быть одинаковыми для всех запросов. Значение page_size
по умолчанию равно 1000
, а значение order_by
по умолчанию — expire_time_desc
.
Обновите время облачной привязки, чтобы оно существовало до максимально допустимого времени.
Запросите один Cloud Anchor для запроса его lastLocalizeTime
и maximumExpireTime
.
Запрос:
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"
Ответ:
{
"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"
}
Получив привязку, обновите ее expireTime
до maximumExpireTime
.
Запрос:
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" }'
Ответ:
{
"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"
}
Удалить облачные привязки
Удаление одной облачной привязки:
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"
Удалите пакет облачных привязок:
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" ]}'