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

認定プロフェッショナル インストーラ(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 Web Token 形式を使用して、シークレット文字列を JWT にエンコードします。

  3. 以下のとおりに設定します。

    1. ${SECRET} はシークレット文字列に置き換えます。
    2. ${ENCODED_SECRET} を JWT 文字列に追加します。
    3. ${CPI_ID} は CPI の ID に置き換えます。
  4. 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/installer:validate" \
      -d "{ \"installer_id\": \"${CPI_ID}\", \"secret\": \"${SECRET}\", \"encoded_secret\": \"${ENCODED_SECRET}\" }"
    

これにより、CPI は、必要なすべてのパラメータが設定された市民向けブロードバンド無線サービス デバイス(CBSD)を設置できるようになります。

マルチステップの CBSD 登録

マルチステップの CBSD 登録は、CPI によって以前に署名されたデバイス パラメータまたは CPI アカウントを使用して行うことができます。

以前に CPI によって署名されたデバイス パラメータ

このサンプルは、CPI によって以前にエンコードされた CBSD インストール パラメータを使用して、非アクティブなデバイス構成を作成する方法を示しています。その結果、CPI 以外のユーザーも構成を作成できるようになります。

  1. CPI の秘密鍵を使用して CBSD パラメータをエンコードします。JSON Web Token 形式を使用することをおすすめします。
  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 に登録リクエストを送信する必要があります。

次のステップ