在以下範例中,我們假設已使用服務帳戶取得權杖:
TOKEN=$(gcloud auth print-access-token)
並假設你已將 ${CLIENT_PROJECT}
設為 Google Cloud 專案的專案 ID。
列出現有客戶
下列指令會傳回呼叫者可存取的所有客戶:
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>" }
接著,密鑰字串必須編碼至 JWT。請使用 JSON Web Token 格式。我們假設您已將 ${SECRET}
設為密鑰字串、${ENCODED_SECRET}
設為 JWT 字串,以及將 ${CPI_ID}
設為 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}\" }"
單次安裝出價功能現在可以安裝包含所有必要參數的 CBSD。
多步驟 CBSD 註冊
以下兩節將介紹如何執行多步驟 CBSD 註冊功能。您可以使用先前 CC 或 CPI 帳戶簽署的參數,執行多步驟 CBSD 註冊。
使用先前由單次安裝出價所簽署的裝置參數
本範例說明如何透過先前由 CPI 編碼的 CBSD 安裝參數建立非使用中的裝置設定,以便非 CPI 使用者也能建立設定。
使用 CPI' 私密金鑰對 CBSD 參數進行編碼。我們會採用 JSON Web Token 格式進行這項操作。我們假設您將 ${ENCODED_DEVICE}
設為 JWT 字串,並將 ${CPI_ID}
設為 CPI 的 ID。
接著,您可以使用下列指令建立非使用中的裝置設定:
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 的身分必須先經過驗證,才能驗證裝置設定。完成上述操作後,請使用下列指令建立未使用的裝置設定:
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} 設為這個格式的 CBSD 註冊參數的 JSON 表示法。
接著,CBSD 必須向 SAS 傳送註冊要求,才能完成註冊。