Diese Seite enthält Codebeispiele für die Google Spectrum Access System (SAS) Portal API.
Hinweise
Für die folgenden Beispiele müssen die folgenden Voraussetzungen erfüllt sein:
- Rufen Sie ein Token mit Ihrem Dienstkonto ab.
TOKEN=$(gcloud auth print-access-token)
- Legen Sie
${CLIENT_PROJECT}
auf die Projekt-ID des Google Cloud-Projekts fest.
Aktuelle Kunden auflisten
Gibt alle Kunden zurück, auf die der Aufrufer Zugriff hat:
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"
Speichern Sie den zurückgegebenen Kundennamen als Variable:
CUSTOMER_NAME=customers/...
Neue Gerätekonfiguration erstellen
Legen Sie
${FCCID}
und${SN}
für das Gerät fest, das Sie erstellen möchten:FCCID=f1 SN=sn1
Erstellen Sie die Gerätekonfiguration:
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\"}}"
Der Befehl gibt eine neu erstellte Gerätekonfiguration zurück.
Speichern Sie den Gerätenamen als Variable:
DEVICE_NAME=customers/.../devices/...
Aktuelle Geräte auflisten
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"
Geräte nach Name abrufen
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}"
Vorhandenes Gerät aktualisieren
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}" \
Identität und Zertifizierung als zertifizierter Installateur (CPI) bestätigen
Generieren Sie den geheimen String:
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 "{}"
Die Ausgabe sieht in etwa so aus:
{ "secret": "<generated secret>" }
Verwenden Sie das JSON Web Token-Format, um den geheimen String in ein JWT zu codieren.
Legen Sie Folgendes fest:
${SECRET}
an den geheimen String${ENCODED_SECRET}
in den JWT-String${CPI_ID}
mit der ID des Preisvergleichsportals
Prüfen Sie die Identität und Zertifizierung des Preisvergleichsportals:
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}\" }"
Jetzt kann der CPI ein CBRS-Gerät (Citizens Broadband Radio Service) installieren, das alle erforderlichen Parameter enthält.
Mehrstufige CBSD-Registrierung
Sie können eine mehrstufige CBSD-Registrierung mit Geräteparametern ausführen, die zuvor von einem CPI oder mit einem CPI-Konto signiert wurden.
Geräteparameter, die zuvor von einem Preisvergleichsportal signiert wurden
In diesem Beispiel wird gezeigt, wie eine inaktive Gerätekonfiguration mit CBSD-Installationsparametern erstellt wird, die zuvor von einem CPI codiert wurden. So können auch Nutzer ohne CPI die Konfiguration erstellen.
- Verwende den privaten Schlüssel des CPI, um die CBSD-Parameter zu codieren. Wir empfehlen, das JSON-Webtoken-Format zu verwenden.
- Lege für
${ENCODED_DEVICE}
den JWT-String und für${CPI_ID}
die ID des Preisvergleichsportals fest. Erstellen Sie die Konfiguration für inaktive Gerä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/${CUSTOMER_NAME}/devices:createSigned" \ -d "{ \"installer_id\": \"${CPI_ID}\", \"encoded_device\": \"${ENCODED_DEVICE}\", \"parent\": \"${CUSTOMER_NAME}\" }"
Die CBSD muss dann einen Registrierungsantrag an SAS senden, um die Registrierung abzuschließen.
CPI-Konto
Die Identität des Preisvergleichsportals muss vor der Bestätigung einer Gerätekonfiguration bestätigt werden. Anschließend erstellen Sie mit dem folgenden Befehl eine inaktive Gerätekonfiguration:
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}"
Ersetzen Sie ${DEVICE}
durch die JSON-Darstellung der CBSD-Registrierungsparameter. Weitere Informationen zum Format findest du unter REST-Ressource: customers.devices.
Die CBSD muss dann einen Registrierungsantrag an SAS senden, um die Registrierung abzuschließen.
Nächste Schritte
- Eine Übersicht über die SAS Portal API finden Sie unter Google SAS Portal API – Übersicht.
- Informationen zu den einzelnen APIs finden Sie unter Customers API und Device Manager API.
- Eine Referenzdokumentation finden Sie unter APIs und Referenz.