ניהול עוגן בענן מחוץ לאפליקציית ARCore באמצעות עוגן ARCore Cloud ממשק API לניהול.
תחילת העבודה
פעולות לדוגמה
- הצגת רשימה של כל העוגנים של Cloud
- עדכון משך הזמן של עוגן בענן למשך הזמן המקסימלי המותר
- מחיקת מודעות עוגן בענן
אישור
יוצרים מפתח של חשבון שירות בקטע מסוף Google Cloud Platform ויוצרים אסימון OAuth2 כדי לאשר קריאות ל-Cloud GCM Management API.
בתפריט הניווט של מסוף 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 Kens Management API. על ידי
כברירת מחדל, oauth2l פועל במטמון של אסימון. הפקודה fetch
מאחזרת את אותם נתונים
ב-Assistant. משתמשים ב-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 עוגנים, ואפשר למיין אותם לפי 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 כדי לשלוח שאילתה ל-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:
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:
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" ]}'