API ARCore Cloud Anchor cũ đã ngừng hoạt động và không được hỗ trợ sau ngày 31 tháng 8 năm 2023. Nếu ứng dụng của bạn đang sử dụng API này, thì bạn phải cập nhật API để sử dụng điểm cuối API ARCore mới càng sớm càng tốt.

API ARCore Cloud Anchor Management

Quản lý Cloud Anchors bên ngoài ứng dụng ARCore của bạn bằng cách sử dụng API CloudCore Anchor quản lý.

Bắt đầu

Ví dụ về phép toán

Ủy quyền

Tạo khóa tài khoản dịch vụ trong Bảng điều khiển Google Cloud Platform và tạo mã thông báo OAuth2 để cho phép các lệnh gọi API quản lý Cloud Anchor.

  1. Trong trình đơn điều hướng của Bảng điều khiển Google Cloud Platform, hãy chuyển đến APIs & Services > Credentials.

  2. Chọn dự án mà bạn muốn, sau đó nhấp vào Create Credentials > Service account.

  3. Trong Service account details, hãy nhập tên cho tài khoản mới, sau đó nhấp vào Create.

  4. Trên trang Service account permissions, hãy chuyển đến trình đơn thả xuống Select a role. Chọn Service Accounts > Service Account Token Creator, rồi nhấp vào Continue.

  5. Trên trang Grant users access to this service account, hãy nhấp vào Done. Thao tác này sẽ đưa bạn trở lại APIs & Services > Credentials.

  6. Trên trang Credentials, hãy di chuyển xuống phần Service Accounts và nhấp vào tên của tài khoản mà bạn vừa tạo.

  7. Trên trang Service account details, hãy di chuyển xuống phần Keys rồi chọn Add Key > Create new key.

  8. Chọn JSON làm loại khóa và nhấp vào Create. Thao tác này sẽ tải một tệp JSON chứa khóa riêng tư xuống máy của bạn. Lưu trữ tệp khóa JSON đã tải xuống ở một vị trí an toàn.

Tạo mã thông báo OAuth2

arcore.management là phạm vi OAuth của API Cloud Anchors Management. Theo mặc định, oauth2l hoạt động trên bộ nhớ đệm của mã thông báo. Lệnh fetch truy xuất cùng một mã thông báo. Sử dụng oauth2l để tạo mã thông báo OAuth2 để uỷ quyền:

oauth2l fetch --json creds.json arcore.management

Để tạo mã thông báo mới, hãy thêm tùy chọn --cache="" vào lệnh fetch.

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

Hoặc, gọi oauth2l reset và gọi lại lệnh fetch.

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

Liệt kê tất cả Neo neo

Tải trang đầu tiên của Cloud Anchor, tùy chọn theo expire_time, create_time hoặc last_localize_time.

Yêu cầu:

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"

Phản hồi:

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

Nếu phản hồi quay lại với nextPageToken, thì sẽ có thêm các thẻ neo để liệt kê. Sử dụng tham số truy vấn next_page_token trong yêu cầu tiếp theo để truy xuất nhóm kết quả tiếp theo.

Yêu cầu:

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"

Khi sử dụng next_page_token, page_sizeorder_by phải nhất quán đối với các yêu cầu. page_size mặc định là 1000order_by mặc định là expire_time_desc.

Cập nhật thời lượng của Cloud Anchor để đạt đến thời gian tối đa được phép

Yêu cầu một Cloud Anchor truy vấn lastLocalizeTimemaximumExpireTime.

Yêu cầu:

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"

Phản hồi:

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

Sau khi bạn liên kết, hãy cập nhật expireTime của quảng cáo đó thành maximumExpireTime.

Yêu cầu:

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

Phản hồi:

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

Xóa neo neo

Xóa một 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"

Xóa một lô 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" ]}'