API ARCore Cloud Anchor Management

Mengelola Cloud Anchor di luar aplikasi ARCore menggunakan ARCore Cloud Anchor API Pengelolaan.

Memulai

Contoh operasi

Otorisasi

Buat kunci akun layanan di Konsol Google Cloud Platform dan buat token OAuth2 untuk memberi otorisasi panggilan API pengelolaan Cloud Anchor.

  1. Di menu navigasi Konsol Google Cloud Platform, buka APIs & Services > Credentials.

  2. Pilih project yang diinginkan, lalu klik Create Credentials > Service account.

  3. Di bagian Service account details, ketik nama untuk akun baru, lalu klik Create.

  4. Di halaman Service account permissions, buka Select a role {i>dropdown<i}. Pilih Service Accounts > Service Account Token Creator, lalu klik Continue.

  5. Di halaman Grant users access to this service account, klik Done. Tindakan ini akan membawa Anda kembali ke APIs & Services > Credentials.

  6. Di halaman Credentials, scroll ke bawah ke bagian Service Accounts dan klik nama akun yang baru saja Anda buat.

  7. Di halaman Service account details, scroll ke bawah ke bagian Keys dan pilih Add Key > Create new key.

  8. Pilih JSON sebagai jenis kunci dan klik Create. Tindakan ini akan mendownload JSON file yang berisi kunci pribadi ke komputer Anda. Simpan JSON yang didownload file kunci Anda di lokasi yang aman.

Membuat token OAuth2

arcore.management adalah cakupan OAuth untuk Cloud Anchors Management API. Menurut secara {i>default<i}, {i>oauth2l<i} bekerja pada {i>cache<i} token. Perintah fetch mengambil sebelumnya yang benar. Gunakan oauth2l untuk membuat OAuth2 token untuk otorisasi:

oauth2l fetch --json creds.json arcore.management

Untuk membuat token baru, tambahkan opsi --cache="" ke fetch perintah.

oauth2l fetch --cache="" --json creds.json arcore.management

Atau, panggil oauth2l reset dan panggil perintah fetch lagi.

oauth2l reset
oauth2l fetch --json creds.json arcore.management

Mencantumkan semua Cloud Anchor

Dapatkan halaman pertama Cloud Anchors, yang diurutkan secara opsional menurut expire_time, create_time, atau last_localize_time.

Permintaan:

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"

Respons:

{
  "anchors": [
    {
      "name": "anchors/ua-a1cc84e4f11b1287d289646811bf54d1",
      "createTime": "...",
      "expireTime": "...",
      "lastLocalizeTime": "...",
      "maximumExpireTime": "..."
    },
   …
    {
      "name": "anchors/ua-41a3d0233471917875159f6f3c25ea0e",
      "createTime": "...",
      "expireTime": "...",
      "lastLocalizeTime": "...",
      "maximumExpireTime": "..."
    }
  ],
  nextPageToken: "some-long-string"
}

Jika respons kembali dengan nextPageToken, akan ada lebih banyak anchor untuk daftar. Gunakan parameter kueri next_page_token pada permintaan berikutnya untuk mengambil kumpulan hasil berikutnya.

Permintaan:

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"

Saat menggunakan next_page_token, page_size, dan order_by harus konsisten di seluruh permintaan. page_size default 1000 dan order_by default ke expire_time_desc.

Memperbarui waktu aktif Cloud Anchor ke waktu aktif maksimum yang diizinkan

Meminta Cloud Anchor tunggal untuk mengkueri lastLocalizeTime dan maximumExpireTime.

Permintaan:

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"

Respons:

{
  "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"
}

Setelah Anda memiliki anchor, update expireTime-nya ke maximumExpireTime.

Permintaan:

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

Respons:

{
  "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"
}

Menghapus Cloud Anchor

Menghapus satu 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"

Hapus batch Cloud Anchor:

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