Exemples de code d'API

Cette page contient des exemples de code pour l'API du portail Google Spectrum Access System (SAS).

Avant de commencer

Pour les exemples suivants, assurez-vous de remplir les conditions préalables suivantes:

Lister les clients actuels

  1. Renvoie tous les clients auxquels l'appelant a accès:

    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. Enregistrez le nom du client renvoyé en tant que variable:

    CUSTOMER_NAME=customers/...
    

Créer une configuration d'appareil

  1. Définissez les valeurs ${FCCID} et ${SN} de l'appareil que vous souhaitez créer:

    FCCID=f1
    SN=sn1
    
  2. Créez la configuration de l'appareil:

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

    La commande renvoie une configuration d'appareil nouvellement créée.

  3. Enregistrez le nom de l'appareil en tant que variable:

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

Répertorier les appareils actuels

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"

Récupérez les appareils par nom.

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

Mettre à jour un appareil existant

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

Valider votre identité et votre certification d'installateur professionnel certifié (CPI)

  1. Générez la chaîne secrète:

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

    Le résultat ressemble à ce qui suit :

     {
      "secret": "<generated secret>"
     }
    
  2. Utilisez le format de jeton Web JSON pour encoder la chaîne secrète dans un JWT.

  3. Renseignez les champs suivants :

    1. ${SECRET} à la chaîne secrète
    2. ${ENCODED_SECRET} à la chaîne JWT
    3. ${CPI_ID} à l'ID du CPI
  4. Validez l'identité et la certification du 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}\" }"
    

Le CPI peut désormais installer un appareil CBSD (Citizens Broadband Radio Service) doté de tous les paramètres requis.

Enregistrement CBSD en plusieurs étapes

Vous pouvez effectuer un enregistrement CBSD en plusieurs étapes avec des paramètres d'appareil précédemment signés par un CPI ou avec un compte CPI.

Paramètres de l'appareil précédemment signés par un CPI

Cet exemple montre comment créer une configuration d'appareil inactive avec des paramètres d'installation CBSD précédemment encodés par un CPI. Par conséquent, les utilisateurs non-CPI peuvent également créer la configuration.

  1. Utilisez la clé privée du CPI pour encoder les paramètres CBSD. Nous vous recommandons d'utiliser le format de jeton Web JSON.
  2. Définissez ${ENCODED_DEVICE} sur la chaîne JWT et ${CPI_ID} sur l'ID du CPI.
  3. Créez la configuration de l'appareil inactif:

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

Le CBSD doit ensuite envoyer une demande d'enregistrement à SAS pour finaliser son enregistrement.

Compte CPI

L'identité du CPI doit être validée avant de valider une configuration d'appareil. Une fois cette opération effectuée, utilisez la commande suivante pour créer une configuration d'appareil inactive:

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

Remplacez ${DEVICE} par la représentation JSON des paramètres d'enregistrement du CBSD. Pour en savoir plus sur le format, consultez la section Ressource REST: customers.devices.

Le CBSD doit ensuite envoyer une demande d'enregistrement à SAS pour finaliser son enregistrement.

Étape suivante