בדף הזה מוצגות דוגמאות קוד ל-Google Spectrum Access System (SAS) Portal API.
לפני שמתחילים
לפני שמתחילים, צריך לוודא שמתקיימות הדרישות הבאות:
- קבלת אסימון באמצעות חשבון השירות
TOKEN=$(gcloud auth print-access-token). - מגדירים את
${CLIENT_PROJECT}למזהה הפרויקט של Google Cloud הפרויקט.
רשימת לקוחות נוכחיים
החזרת כל הלקוחות שלמבצע הקריאה החוזרת יש גישה אליהם:
curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \"https://sasportal.googleapis.com/v1alpha1/customers"שומרים את שם הלקוח שמוחזר כמשתנה:
CUSTOMER_NAME=customers/...
יצירת הגדרת מכשיר חדשה
מגדירים את
${FCCID}ואת${SN}של המכשיר שרוצים ליצור:FCCID=f1 SN=sn1
יוצרים את הגדרת המכשיר:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices" \ -d "{ \"fcc_id\": \"$FCCID\", \"serial_number\": \"$SN\", \"preloaded_config\": { \"call_sign\": \"cs1\", \"category\": \"DEVICE_CATEGORY_A\"}}"הפקודה מחזירה הגדרת מכשיר חדשה שנוצרה.
שומרים את שם המכשיר כמשתנה:
DEVICE_NAME=customers/.../devices/...
רשימת המכשירים הנוכחיים
curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices"
אחזור מכשירים לפי שם
curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}"
עדכון מכשיר קיים
curl -X PATCH -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}" \
אימות הזהות וההסמכה שלכם כמתקינים מקצועיים מוסמכים (CPI)
יוצרים את המחרוזת הסודית:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:generateSecret" \ -d "{}"הפלט אמור להיראות כך:
{ "secret": "<generated secret>" }משתמשים בפורמט JSON Web Token כדי לקודד את מחרוזת הסוד ל-JWT.
מגדירים את הפרטים הבאים:
-
${SECRET}לערך ה-Secret -
${ENCODED_SECRET}למחרוזת ה-JWT -
${CPI_ID}למזהה של העלות להתקנה
-
מאמתים את הזהות וההסמכה של ה-CPI:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:validate" \ -d "{ \"installer_id\": \"${CPI_ID}\", \"secret\": \"${SECRET}\", \"encoded_secret\": \"${ENCODED_SECRET}\" }"
עכשיו, ה-CPI יכול להתקין מכשיר Citizens Broadband Radio Service Device (CBSD) עם כל הפרמטרים הנדרשים.
רישום CBSD רב-שלבי
אפשר לבצע רישום של CBSD בכמה שלבים עם פרמטרים של מכשיר שנחתמו בעבר על ידי CPI או עם חשבון CPI.
פרמטרים של מכשיר שנחתמו בעבר על ידי CPI
בדוגמה הזו אפשר לראות איך יוצרים הגדרת מכשיר לא פעילה עם פרמטרים של התקנת CBSD שקודדו בעבר על ידי CPI. כתוצאה מכך, גם משתמשים שלא משויכים ל-CPI יכולים ליצור את ההגדרה.
- משתמשים במפתח הפרטי של ה-CPI כדי לקודד את הפרמטרים של ה-CBSD. מומלץ להשתמש בפורמט JSON Web Token.
- מגדירים את
${ENCODED_DEVICE}למחרוזת ה-JWT ואת${CPI_ID}למזהה של ה-CPI. יוצרים את ההגדרה של מכשירים לא פעילים:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices:createSigned" \ -d "{ \"installer_id\": \"${CPI_ID}\", \"encoded_device\": \"${ENCODED_DEVICE}\", \"parent\": \"${CUSTOMER_NAME}\" }"
לאחר מכן, מכשיר ה-CBSD צריך לשלוח בקשת רישום ל-SAS כדי להשלים את הרישום שלו.
חשבון CPI
צריך לאמת את הזהות של ה-CPI לפני אימות של הגדרת מכשיר. אחרי שמסיימים, משתמשים בפקודה הבאה כדי ליצור הגדרת מכשיר לא פעילה:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}:signDevice" \
-d "${DEVICE}"
מחליפים את ${DEVICE} בייצוג ה-JSON של פרמטרים לרישום CBSD. מידע נוסף על הפורמט מופיע במאמר משאב REST: customers.devices.
לאחר מכן, מכשיר ה-CBSD צריך לשלוח בקשת רישום ל-SAS כדי להשלים את הרישום שלו.
המאמרים הבאים
- סקירה כללית של SAS Portal API זמינה במאמר סקירה כללית של Google SAS Portal API.
- מידע על כל API זמין במאמרים Customers API ו-Device Manager API.
- מאמרי עזרה בנושא API זמינים במאמר ממשקי API והפניות.