Kelola Cloud Anchor di luar aplikasi ARCore menggunakan ARCore Cloud Anchor Management API.
Memulai
Contoh operasi
- Menampilkan daftar semua Cloud Anchor
- Memperbarui waktu Cloud Anchor untuk aktif hingga waktu maksimum yang diizinkan
- Menghapus Cloud Anchor
Otorisasi
Buat kunci akun layanan di Google Cloud Platform Console dan buat token OAuth2 untuk mengizinkan panggilan Cloud Anchor Management API.
Di menu navigasi Google Cloud Platform Console, buka APIs & Services > Credentials.
Pilih project yang diinginkan, lalu klik Create Credentials > Service account.
Di bagian Service account details, ketik nama untuk akun baru, lalu klik Create.
Di halaman Service account permissions, buka dropdown Select a role. Pilih Service Accounts > Service Account Token Creator, lalu klik Continue.
Di halaman Grant users access to this service account, klik Done. Tindakan ini akan membawa Anda kembali ke APIs & Services > Credentials.
Di halaman Credentials, scroll ke bawah ke bagian Service Accounts, lalu klik nama akun yang baru saja Anda buat.
Di halaman Service account details, scroll ke bawah ke bagian Keys, lalu pilih Add Key > Create new key.
Pilih JSON sebagai jenis kunci dan klik Create. Tindakan ini akan mendownload file JSON yang berisi kunci pribadi ke komputer Anda. Simpan file kunci JSON yang didownload di lokasi yang aman.
Membuat token OAuth2
arcore.management
adalah cakupan OAuth untuk Cloud Anchors Management API. Secara default, oauth2l berfungsi di cache token. Perintah fetch
mengambil token yang sama. Gunakan oauth2l untuk membuat token OAuth2 untuk otorisasi:
oauth2l fetch --json creds.json arcore.management
Untuk membuat token baru, tambahkan opsi --cache=""
ke perintah
fetch
.
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
Mendapatkan halaman pertama Cloud Anchors, yang secara opsional diurutkan berdasarkan 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 yang dicantumkan. 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
ditetapkan secara default ke 1000
dan order_by
ditetapkan secara default ke
expire_time_desc
.
Memperbarui waktu Cloud Anchor agar aktif hingga waktu maksimum yang diizinkan
Minta satu Cloud Anchor untuk membuat kueri lastLocalizeTime
dan maximumExpireTime
-nya.
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
menjadi 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"
Menghapus 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" ]}'