在以下示例中,我们假设您已使用您的服务帐号获取令牌:
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}" \
验证您的每次安装费用身份和认证
使用以下示例生成 Secret 字符串:
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>" }
随后,Secret 字符串必须编码到 JWT 中。请使用 JSON 网络令牌格式。我们假设您已将 ${SECRET}
设置为 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 注册。您可以使用之前由 CPI 或 CPI 帐号签名的参数执行多步 CBSD 注册。
使用之前由 CPI 签名的设备参数
此示例展示了如何使用之前由 CPI 编码的 CBSD 安装参数创建非活跃设备配置,因此,即使非 CPI 用户也可以创建该配置。使用 CPI 的私钥对 CBSD 参数进行编码。为此,我们使用 JSON 网络令牌格式。我们假设您已将 ${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 发送注册请求才能完成注册。