ARCore Cloud Anchor Management API

ARCore Cloud Anchor を使用して ARCore アプリの外部で Cloud Anchors を管理する Management API です。

スタートガイド

オペレーションの例

承認

Google Cloud コンソールでサービス アカウント キーを Google Cloud Platform Console を開き、 Cloud Anchor Management API 呼び出しを認可するための OAuth2 トークン。

  1. Google Chat のナビゲーション メニューで、 Google Cloud Platform コンソールの場合は、 APIs & Services >Credentials

  2. 目的のプロジェクトを選択して、[Create Credentials] をクリックします。Service account

  3. [Service account details] に新しいアカウントの名前を入力し、 [Create] をクリックします。

  4. Service account permissions ページで Select a role に移動します。 選択します。Service Accounts を選択 >Service Account Token Creator, [Continue] をクリックします。

  5. [Grant users access to this service account] ページで [Done] をクリックします。 APIs & Services に戻ります >Credentials

  6. [Credentials] ページで、Service Accounts セクションまで下にスクロールします。 先ほど作成したアカウントの名前をクリックします。

  7. [Service account details] ページで、Keys セクションまで下にスクロールします。 [Add Key] を選択します。Create new key

  8. 鍵のタイプとして [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_sizeorder_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"
}

アンカーを取得したら、expireTimemaximumExpireTime に更新します。

リクエスト:

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