API quản lý neo trên đám mây ARCore

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

Bắt đầu

Toán tử mẫu

Ủy quyền

Tạo khoá 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 truy cập vào APIs & Services > Credentials.

  2. Chọn dự án mà bạn muốn, rồi 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 Select a role trình đơn thả xuống. Chọn Service Accounts > Service Account Token Creator, sau đó 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, di chuyển xuống phần Service Accounts rồi nhấp vào tên của tài khoản bạn vừa tạo.

  7. Trên trang Service account details, di chuyển xuống phần Keys và chọn Add Key > Create new key.

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

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

arcore.management là phạm vi OAuth cho API Quản lý Cloud Anchors. Theo mặc định, oauth2l hoạt động trên bộ nhớ đệm 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 OAuth2 mã thông báo uỷ quyền:

oauth2l fetch --json creds.json arcore.management

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

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

Ngoài ra, hãy 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ả Cloud Anchor

Tải trang đầu tiên của Cloud Anchors, được sắp xếp theo expire_time (không bắt buộc), 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 kèm theo một nextPageToken, thì sẽ có thêm các neo danh sách. 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 theo 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 gian của Cloud Anchor để trực tiếp thành thời gian tối đa cho phép

Yêu cầu một Cloud Anchor truy vấn lastLocalizeTime của nó và maximumExpireTime

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

Khi bạn đã có quảng cáo cố định, hãy cập nhật expireTime 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"
}

Xoá Cloud Anchor

Xoá 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"

Xoá một loạt 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" ]}'