在下列範例中,我們假設您已透過服務帳戶取得權杖:
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}\" }"
CPI 現在可以安裝具有所有必要參數的 CBSD。
多步驟 CBSD 註冊
如要執行多步驟 CBSD 註冊,有兩種方法,詳情請參閱以下兩節。 您可以透過先前由 CPI 簽署的參數,或使用 CPI 帳戶執行多步驟 CBSD 註冊。
使用先前由 CPI 簽署的裝置參數
本範例說明如何使用 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 帳戶
首先,您必須先驗證 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 傳送註冊要求,才能完成註冊。