이 페이지에는 Google Spectrum Access System (SAS) Portal API의 코드 샘플이 포함되어 있습니다.
시작하기 전에
다음 예시를 실행하려면 다음 기본 요건을 완료해야 합니다.
- 서비스 계정으로 토큰을 가져옵니다
TOKEN=$(gcloud auth print-access-token)
. ${CLIENT_PROJECT}
를 Google Cloud 프로젝트의 프로젝트 ID로 설정합니다.
현재 고객 목록
호출자가 액세스할 수 있는 모든 고객을 반환합니다.
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"
반환된 고객 이름을 변수로 저장합니다.
CUSTOMER_NAME=customers/...
새 기기 구성 만들기
만들려는 기기의
${FCCID}
및${SN}
를 설정합니다.FCCID=f1 SN=sn1
기기 구성을 만듭니다.
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\"}}"
이 명령어는 새로 생성된 기기 구성을 반환합니다.
기기 이름을 변수로 저장합니다.
DEVICE_NAME=customers/.../devices/...
현재 기기 목록
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"
이름으로 기기 검색
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}"
기존 기기 업데이트
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}" \
Certified Professional Installer (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:generateSecret" \ -d "{}"
출력은 다음과 비슷합니다.
{ "secret": "<generated secret>" }
JSON 웹 토큰 형식을 사용하여 보안 비밀 문자열을 JWT로 인코딩합니다.
다음을 설정합니다.
${SECRET}
: 보안 비밀 문자열${ENCODED_SECRET}
를 JWT 문자열에 추가합니다.${CPI_ID}
를 CPI의 ID로 바꿉니다.
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}\" }"
이제 CPI는 필요한 모든 매개변수가 있는 시민 광대역 무선 서비스 기기 (CBSD)를 설치할 수 있습니다.
다단계 CBSD 등록
이전에 CPI가 서명한 기기 매개변수 또는 CPI 계정으로 다단계 CBSD 등록을 실행할 수 있습니다.
이전에 CPI가 서명한 기기 매개변수
이 샘플에서는 이전에 CPI로 인코딩된 CBSD 설치 매개변수를 사용하여 비활성 기기 구성을 만드는 방법을 보여줍니다. 따라서 CPI 이외의 사용자도 구성을 만들 수 있습니다.
- CPI의 비공개 키를 사용하여 CBSD 매개변수를 인코딩합니다. JSON 웹 토큰 형식을 사용하는 것이 좋습니다.
${ENCODED_DEVICE}
를 JWT 문자열로,${CPI_ID}
를 CPI의 ID로 설정합니다.비활성 기기 구성을 만듭니다.
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}\" }"
그런 다음 CBSD는 등록을 완료하기 위해 SAS에 등록 요청을 전송해야 합니다.
CPI 계정
기기 구성을 확인하기 전에 CPI의 ID를 확인해야 합니다. 완료되면 다음 명령어를 사용하여 비활성 기기 구성을 만듭니다.
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}"
${DEVICE}
를 CBSD 등록 매개변수의 JSON 표현으로 바꿉니다. 형식에 관한 자세한 내용은 REST 리소스: customers.devices를 참고하세요.
그런 다음 CBSD는 등록을 완료하기 위해 SAS에 등록 요청을 전송해야 합니다.
다음 단계
- SAS Portal API에 관한 개요는 Google SAS Portal API 개요를 참고하세요.
- 각 API에 관한 자세한 내용은 고객 API 및 Device Manager API를 참고하세요.
- 참조 문서는 API 및 참조를 참고하세요.