API การจัดการ Cloud Anchor ของ ARCore

จัดการ Cloud Anchor นอกแอป ARCore โดยใช้ ARCore Cloud Anchor API การจัดการ

เริ่มต้นใช้งาน

ตัวอย่างการดำเนินการ

การให้สิทธิ์

สร้างคีย์บัญชีบริการใน คอนโซล Google Cloud Platform และสร้าง โทเค็น OAuth2 เพื่อให้สิทธิ์การเรียก Cloud Anchor Management API

  1. ในเมนูการนําทางของ คอนโซล 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 คือขอบเขต OAuth สำหรับ Cloud Anchors Management 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

แสดงรายการ Cloud Anchor ทั้งหมด

รับหน้าแรกของ Cloud Anchor (ไม่บังคับ) ตาม 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 จะมี Anchor เพิ่มเติมสำหรับ รายการ ใช้พารามิเตอร์การค้นหา 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

อัปเดต Time to Live ของ 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"
}

เมื่อมีโฆษณา Anchor ให้อัปเดต 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 Anchor

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