ממשק API לניהול עוגן ענן של ARCore

ניהול עוגן בענן מחוץ לאפליקציית ARCore באמצעות עוגן ARCore Cloud ממשק API לניהול.

תחילת העבודה

פעולות לדוגמה

אישור

יוצרים מפתח של חשבון שירות בקטע מסוף Google Cloud Platform ויוצרים אסימון OAuth2 כדי לאשר קריאות ל-Cloud GCM Management API.

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