Cloud Anchors را خارج از برنامه ARCore خود با استفاده از ARCore Cloud Anchor Management API مدیریت کنید.
شروع کردن
نمونه عملیات
- فهرست تمام لنگرهای ابری
- زمان یک Cloud Anchor را بهروزرسانی کنید تا تا حداکثر زمان مجاز زندگی کند
- Cloud Anchors را حذف کنید
مجوز
یک کلید حساب سرویس در کنسول Google Cloud Platform ایجاد کنید و یک نشانه OAuth2 برای مجاز کردن تماسهای API مدیریت 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 page، روی 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 را دریافت کنید، که به صورت اختیاری بر اساس 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
برگردد، لنگرهای بیشتری برای فهرست کردن وجود دارد. از پارامتر query 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"
یک دسته از لنگرهای ابری را حذف کنید:
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" ]}'
Cloud Anchors را خارج از برنامه ARCore خود با استفاده از ARCore Cloud Anchor Management API مدیریت کنید.
شروع کردن
نمونه عملیات
- فهرست تمام لنگرهای ابری
- زمان یک Cloud Anchor را بهروزرسانی کنید تا تا حداکثر زمان مجاز زندگی کند
- Cloud Anchors را حذف کنید
مجوز
یک کلید حساب سرویس در کنسول Google Cloud Platform ایجاد کنید و یک نشانه OAuth2 برای مجاز کردن تماسهای API مدیریت 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 page، روی 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 را دریافت کنید، که به صورت اختیاری بر اساس 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
برگردد، لنگرهای بیشتری برای فهرست کردن وجود دارد. از پارامتر query 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"
یک دسته از لنگرهای ابری را حذف کنید:
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" ]}'