يمكنك إدارة Cloud Anchors خارج تطبيق ARCore باستخدام ARCore Cloud Anchor Management API.
البدء
أمثلة على العمليات
- إدراج جميع Cloud Anchors
- تعديل وقت خدمة Cloud Anchor إلى الحد الأقصى للوقت المسموح به
- حذف Cloud Anchors
التفويض
أنشِئ مفتاح حساب خدمة في وحدة تحكُّم Google Cloud Platform وأنشِئ رمز OAuth2 مميزًا لتفويض طلبات البيانات من واجهة برمجة التطبيقات لإدارة Cloud Anchor.
في قائمة التنقل في وحدة تحكّم Google Cloud Platform، انتقِل إلى APIs & Services > Credentials.
اختَر المشروع المطلوب، ثم انقر على Create Credentials > Service account.
ضمن Service account details، اكتب اسمًا للحساب الجديد، ثم انقر على Create.
في صفحة Service account permissions، انتقل إلى القائمة المنسدلة Select a role. حدد Service Accounts > Service Account Token Creator، ثم انقر على Continue.
في صفحة Grant users access to this service account، انقر على Done. يعيدك هذا إلى APIs & Services > Credentials.
في صفحة Credentials، انتقِل للأسفل وصولاً إلى القسم Service Accounts وانقر على اسم الحساب الذي أنشأته للتو.
في صفحة Service account details، انتقِل للأسفل وصولاً إلى القسم Keys واختَر Add Key > Create new key.
حدد 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 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 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" ]}'