Esta página contiene muestras de código de la API del portal del sistema de acceso a espectro (SAS) de Google.
Antes de comenzar
Para los siguientes ejemplos, asegúrate de completar los siguientes requisitos previos:
- Obtén un token con tu cuenta de servicio
TOKEN=$(gcloud auth print-access-token)
. - Establece
${CLIENT_PROJECT}
en el ID del proyecto de Google Cloud.
Cómo ver la lista de clientes actuales
Muestra todos los clientes a los que el emisor tiene acceso:
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"
Guarda el nombre del cliente que se muestra como una variable:
CUSTOMER_NAME=customers/...
Crea una nueva configuración de dispositivo
Establece el
${FCCID}
y el${SN}
del dispositivo que quieres crear:FCCID=f1 SN=sn1
Crea la configuración del dispositivo:
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\"}}"
El comando muestra una configuración de dispositivo recién creada.
Guarda el nombre del dispositivo como una variable:
DEVICE_NAME=customers/.../devices/...
Cómo mostrar una lista de los dispositivos actuales
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"
Cómo recuperar dispositivos por nombre
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}"
Cómo actualizar un dispositivo existente
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}" \
Valida tu identidad y certificación de instalador profesional certificado (CPI)
Genera la cadena secreta:
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 "{}"
El resultado es similar a este:
{ "secret": "<generated secret>" }
Usa el formato de token web JSON para codificar la cadena secreta en un JWT.
Establezca lo siguiente:
${SECRET}
a la cadena secreta${ENCODED_SECRET}
a la cadena JWT${CPI_ID}
al ID del CPI
Valida la identidad y la certificación del 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}\" }"
Ahora, el CPI puede instalar un dispositivo de servicio de radio de banda ancha para ciudadanos (CBSD) que tenga todos los parámetros requeridos.
Registro de CBSD de varios pasos
Puedes realizar el registro de CBSD de varios pasos con parámetros de dispositivos firmados previamente por un CPI o con una cuenta de CPI.
Parámetros del dispositivo firmados previamente por un CPI
En este ejemplo, se muestra cómo crear una configuración de dispositivo inactivo con parámetros de instalación de CBSD codificados previamente por un CPI. Como resultado, los usuarios que no son de CPI también pueden crear la configuración.
- Usa la clave privada del CPI para codificar los parámetros de CBSD. Te recomendamos que uses el formato de token web JSON.
- Establece
${ENCODED_DEVICE}
en la cadena JWT y${CPI_ID}
en el ID del CPI. Crea la configuración del dispositivo inactivo:
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}\" }"
Luego, el CBSD debe enviar una solicitud de registro a SAS para completar el registro.
Cuenta de CPI
La identidad del CPI se debe validar antes de validar una configuración del dispositivo. Cuando termines, usa el siguiente comando para crear una configuración de dispositivo inactivo:
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}"
Reemplaza ${DEVICE}
por la representación JSON de los parámetros de registro de CBSD. Para obtener más información sobre el formato, consulta Recurso de REST: customers.devices.
Luego, el CBSD debe enviar una solicitud de registro a SAS para completar el registro.
¿Qué sigue?
- Para obtener una descripción general de la API de SAS Portal, consulta la descripción general de la API de Google SAS Portal.
- Para obtener información sobre cada API, consulta la API de Customers y la API de Device Manager.
- Para obtener documentación de referencia, consulta APIs y referencia.