واجهة برمجة تطبيقات ARCore Cloud Anchor Management

إدارة Cloud Anchors خارج تطبيق ARCore باستخدام ARCore Cloud Anchor Management API:

الخطوات الأولى

أمثلة على العمليات

التفويض

أنشئ مفتاح حساب خدمة في وحدة تحكُّم Google Cloud Platform وإنشاء رمز OAuth2 المميز للسماح باستدعاءات واجهة برمجة التطبيقات لإدارة Cloud Anchor Anchor.

  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 Anchors

الحصول على الصفحة الأولى من Cloud Anchors، مرتبة اختياريًا حسب 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، هناك المزيد من علامات الارتساء الحالية. استخدِم معلَمة طلب البحث 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

تعديل وقت 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"
}

بعد الحصول على علامة الارتساء، عدِّل 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 Anchors

حذف نقطة ارتساء Cloud واحدة:

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