ARCore Cloud Anchor を使用して ARCore アプリの外部で Cloud Anchors を管理する Management API です。
スタートガイド
オペレーションの例
承認
Google Cloud コンソールでサービス アカウント キーを Google Cloud Platform Console を開き、 Cloud Anchor Management API 呼び出しを認可するための OAuth2 トークン。
Google Chat のナビゲーション メニューで、 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
は、Cloud Anchors Management API の OAuth スコープです。方法
デフォルトでは、oauth2l はトークン キャッシュで機能します。fetch
コマンドは、同じものを取得します。
あります。oauth2l を使用して OAuth2 を生成します。
使用します。
oauth2l fetch --json creds.json arcore.management
新しいトークンを生成するには、fetch
に --cache=""
オプションを追加します。
使用できます。
oauth2l fetch --cache="" --json creds.json arcore.management
または、oauth2l reset
を呼び出してから、fetch
コマンドを再度呼び出します。
oauth2l reset
oauth2l fetch --json creds.json arcore.management
すべての Cloud Anchors を一覧表示する
Cloud Anchors の最初のページを取得します。必要に応じて 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 の有効期間を許容される最大時間まで更新する
単一の 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"
}
Cloud Anchors を削除する
1 つの Cloud Anchor を削除します。
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"
Cloud Anchors のバッチを削除します。
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" ]}'