示例

在以下示例中,我们假设您已使用您的服务帐号获取令牌

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 发送注册请求才能完成注册。