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:
- Obtenez un jeton avec votre compte de service
TOKEN=$(gcloud auth print-access-token)
. - Définissez
${CLIENT_PROJECT}
sur l'ID du projet Google Cloud.
Lister les clients actuels
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"
Enregistrez le nom du client renvoyé en tant que variable:
CUSTOMER_NAME=customers/...
Créer une configuration d'appareil
Définissez les valeurs
${FCCID}
et${SN}
de l'appareil que vous souhaitez créer:FCCID=f1 SN=sn1
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.
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)
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>" }
Utilisez le format de jeton Web JSON pour encoder la chaîne secrète dans un JWT.
Renseignez les champs suivants :
${SECRET}
à la chaîne secrète${ENCODED_SECRET}
à la chaîne JWT${CPI_ID}
à l'ID du CPI
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.
- Utilisez la clé privée du CPI pour encoder les paramètres CBSD. Nous vous recommandons d'utiliser le format de jeton Web JSON.
- Définissez
${ENCODED_DEVICE}
sur la chaîne JWT et${CPI_ID}
sur l'ID du CPI. 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
- Pour obtenir une présentation de l'API Google SAS Portal, consultez la présentation de l'API Google SAS Portal.
- Pour en savoir plus sur chaque API, consultez les pages API Customers et API Device Manager.
- Pour obtenir la documentation de référence, consultez la section API et documentation de référence.