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:
- Obtenha um token com a sua conta de serviço
TOKEN=$(gcloud auth print-access-token)
. - Defina
${CLIENT_PROJECT}
para o ID do projeto do projeto Google Cloud .
Liste os clientes atuais
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"
Guarde o nome do cliente devolvido como uma variável:
CUSTOMER_NAME=customers/...
Crie uma nova configuração do dispositivo
Defina o
${FCCID}
e o${SN}
do dispositivo que quer criar:FCCID=f1 SN=sn1
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.
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)
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>" }
Use o formato de símbolo da Web JSON para codificar a string secreta num JWT.
Defina o seguinte:
${SECRET}
para a string secreta${ENCODED_SECRET}
para a string JWT${CPI_ID}
ao ID do CPI
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.
- Use a chave privada do CPI para codificar os parâmetros do CBSD. Recomendamos que use o formato de símbolo da Web JSON.
- Defina
${ENCODED_DEVICE}
para a string JWT e${CPI_ID}
para o ID da CPI. 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?
- Para ver uma vista geral da API SAS Portal, consulte o artigo Vista geral da API Google SAS Portal.
- Para obter informações sobre cada API, consulte a API Customers e a API Device Manager.
- Para consultar a documentação de referência, consulte APIs e referência.