Esempi di codice API

Questa pagina contiene esempi di codice per l'API del portale Google Spectrum Access System (SAS).

Prima di iniziare

Per i seguenti esempi, assicurati di completare i seguenti prerequisiti:

Elenca i clienti attuali

  1. Restituisce tutti i clienti a cui il chiamante ha accesso:

    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. Salva il nome del cliente restituito come variabile:

    CUSTOMER_NAME=customers/...
    

Creare una nuova configurazione del dispositivo

  1. Imposta ${FCCID} e ${SN} del dispositivo che vuoi creare:

    FCCID=f1
    SN=sn1
    
  2. Crea la configurazione 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\"}}"
    

    Il comando restituisce una configurazione del dispositivo appena creata.

  3. Salva il nome del dispositivo come variabile:

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

Elenca i dispositivi attuali

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"

Recuperare i dispositivi per 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}"

Aggiornare un dispositivo esistente

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

Convalida l'identità e la certificazione di installatore professionista certificato (CPI)

  1. Genera la stringa del 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 "{}"
    

    L'output è simile al seguente:

     {
      "secret": "<generated secret>"
     }
    
  2. Utilizza il formato JSON Web Token per codificare la stringa segreta in un JWT.

  3. Imposta quanto segue:

    1. ${SECRET} alla stringa del secret
    2. ${ENCODED_SECRET} alla stringa JWT
    3. ${CPI_ID} all'ID del CPI
  4. Convalida l'identità e la certificazione 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}\" }"
    

Ora il CPI può installare un dispositivo CBSD (Citizens Broadband Radio Service) con tutti i parametri richiesti.

Registrazione CBSD a più fasi

Puoi eseguire la registrazione CBSD in più passaggi con i parametri del dispositivo precedentemente firmati da un CPI o con un account CPI.

Parametri del dispositivo firmati in precedenza da un CPI

Questo esempio mostra come creare una configurazione del dispositivo non attiva con parametri di installazione CBSD precedentemente codificati da un CPI. Di conseguenza, anche gli utenti non CPI possono creare la configurazione.

  1. Utilizza la chiave privata del CPI per codificare i parametri CBSD. Ti consigliamo di utilizzare il formato JSON Web Token.
  2. Imposta ${ENCODED_DEVICE} sulla stringa JWT e ${CPI_ID} sull'ID del CPI.
  3. Crea la configurazione del dispositivo inattivo:

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

Il CBSD deve quindi inviare una richiesta di registrazione a SAS per completare la registrazione.

Account CPI

L'identità del CPI deve essere convalidata prima di convalidare una configurazione del dispositivo. Al termine, utilizza il comando seguente per creare una configurazione del dispositivo non attiva:

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

Sostituisci ${DEVICE} con la rappresentazione JSON dei parametri di registrazione CBSD. Per ulteriori informazioni sul formato, consulta la Risorsa REST: customers.devices.

Il CBSD deve quindi inviare una richiesta di registrazione a SAS per completare la registrazione.

Passaggi successivi