Exemplos de código da API

Esta página contém exemplos de código para a API Google Spectrum Access System (SAS) Portal.

Antes de começar

Para os exemplos seguintes, certifique-se de que cumpre os seguintes pré-requisitos:

Liste os clientes atuais

  1. Devolver todos os clientes aos quais o autor da chamada tem acesso:

    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"
    
  2. Guarde o nome do cliente devolvido como uma variável:

    CUSTOMER_NAME=customers/...
    

Crie uma nova configuração do dispositivo

  1. Defina o ${FCCID} e o ${SN} do dispositivo que quer criar:

    FCCID=f1
    SN=sn1
    
  2. Crie a configuração do 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\"}}"
    

    O comando devolve uma configuração do dispositivo recém-criada.

  3. Guarde o nome do dispositivo como uma variável:

    DEVICE_NAME=customers/.../devices/...
    

Liste os dispositivos atuais

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"

Obtenha dispositivos por nome

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}"

Atualize um 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}" \

Valide a sua identidade e certificação de instalador profissional certificado (CPI)

  1. Gere a string 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 "{}"
    

    O resultado é semelhante ao seguinte:

     {
      "secret": "<generated secret>"
     }
    
  2. Use o formato de símbolo da Web JSON para codificar a string secreta num JWT.

  3. Defina o seguinte:

    1. ${SECRET} para a string secreta
    2. ${ENCODED_SECRET} para a string JWT
    3. ${CPI_ID} ao ID do CPI
  4. Valide a identidade e a certificação do 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}\" }"
    

Agora, o CPI pode instalar um dispositivo do Citizens Broadband Radio Service (CBSD) que tenha todos os parâmetros necessários.

Registo de CBSD em vários passos

Pode realizar o registo de CBSD de vários passos com parâmetros do dispositivo anteriormente assinados por um CPI ou com uma conta de CPI.

Parâmetros do dispositivo assinados anteriormente por um CPI

Este exemplo mostra como criar uma configuração de dispositivo inativa com parâmetros de instalação de CBSD codificados anteriormente por um CPI. Como tal, os utilizadores não pertencentes ao CPI também podem criar a configuração.

  1. Use a chave privada do CPI para codificar os parâmetros do CBSD. Recomendamos que use o formato de símbolo da Web JSON.
  2. Defina ${ENCODED_DEVICE} para a string JWT e ${CPI_ID} para o ID da CPI.
  3. Crie a configuração do dispositivo inativo:

    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}\" }"
    

Em seguida, o CBSD tem de enviar um pedido de registo ao SAS para concluir o respetivo registo.

Conta de CPI

A identidade do CPI tem de ser validada antes de validar uma configuração do dispositivo. Quando terminar, use o seguinte comando para criar uma configuração de dispositivo inativa:

  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}"

Substitua ${DEVICE} pela representação JSON dos parâmetros de registo do CBSD. Para mais informações sobre o formato, consulte o artigo Recurso REST: customers.devices.

Em seguida, o CBSD tem de enviar um pedido de registo ao SAS para concluir o respetivo registo.

O que se segue?