API 코드 샘플

이 페이지에는 Google Spectrum Access System (SAS) Portal API의 코드 샘플이 포함되어 있습니다.

시작하기 전에

다음 예시를 실행하려면 다음 기본 요건을 완료해야 합니다.

현재 고객 목록

  1. 호출자가 액세스할 수 있는 모든 고객을 반환합니다.

    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. 반환된 고객 이름을 변수로 저장합니다.

    CUSTOMER_NAME=customers/...
    

새 기기 구성 만들기

  1. 만들려는 기기의 ${FCCID}${SN}를 설정합니다.

    FCCID=f1
    SN=sn1
    
  2. 기기 구성을 만듭니다.

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

    이 명령어는 새로 생성된 기기 구성을 반환합니다.

  3. 기기 이름을 변수로 저장합니다.

    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) 신원 및 인증 확인

  1. 보안 비밀 문자열을 생성합니다.

    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>"
     }
    
  2. JSON 웹 토큰 형식을 사용하여 보안 비밀 문자열을 JWT로 인코딩합니다.

  3. 다음을 설정합니다.

    1. ${SECRET}: 보안 비밀 문자열
    2. ${ENCODED_SECRET}를 JWT 문자열에 추가합니다.
    3. ${CPI_ID}를 CPI의 ID로 바꿉니다.
  4. 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 이외의 사용자도 구성을 만들 수 있습니다.

  1. CPI의 비공개 키를 사용하여 CBSD 매개변수를 인코딩합니다. JSON 웹 토큰 형식을 사용하는 것이 좋습니다.
  2. ${ENCODED_DEVICE}를 JWT 문자열로, ${CPI_ID}를 CPI의 ID로 설정합니다.
  3. 비활성 기기 구성을 만듭니다.

    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에 등록 요청을 전송해야 합니다.

다음 단계