在以下範例中,我們假設已使用服務帳戶取得權杖:
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 傳送註冊要求,才能完成註冊。