REST API を使用して手動でデバイスを登録する

Google Assistant SDK に付属の登録ツールを使用すると、デバイスモデルとインスタンスをすばやく登録または更新でき、開発時間を短縮できます。

このツールを使用しない場合は、JSON ファイルと REST API を使用して、デバイスを手動で登録または更新できます。この操作はどのパソコンでも行えます。まず、アクセス トークンを取得して、適切なセクションに進んでください。

アクセス トークンを取得する

  1. 認可ツールが最新であることを確認します。

    python -m pip install --upgrade google-auth-oauthlib[tool]

  2. 新しいデバイスモデルを登録できるように、認証情報を取得します。前の ステップ

    google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \
          --headless --client-secrets /path/to/client_secret_client-id.json

    ターミナルに URL が表示されます。

    Please visit this URL to authorize this application: https://...

  3. URL をコピーしてブラウザに貼り付けます(開発マシンやその他のマシンで行うことができます)。承認すると、「4/XXXX」などのコードがブラウザに表示されます。次のコードをコピーしてターミナルに貼り付けます。

    Enter the authorization code:

    認可が成功すると、次のような JSON レスポンスが表示されます。

    {
       "scopes": ["https://www.googleapis.com/auth/assistant-sdk-prototype"],
       "token_uri": "https://accounts.google.com/o/oauth2/token",
       "token": "ya29.GlujBLa_kuXZ5GnGBPBe_A6NpczLcpOtglEC0wHVORnmEhHETzlSW",
       "client_id": "795595571889-6iesr9a3nkmnipbdfnqi6gehiklm2m28.apps.googleusercontent.com",
       "client_secret": "Un8_TNFnb55555auSAGasvAg",
       "refresh_token": "1/4ZMBhTR3bTYWVEMatYWLOxW755555hlQXZI5uC02F2U"
     }

    代わりに UNAUTHENTICATED が表示された場合は、無効なコードが入力されています。 コード全体をコピーして貼り付けてください。

  4. JSON レスポンスで token を見つけます。このアクセス トークン(二重引用符を除く)を環境変数にコピーします。

    ACCESSTOKEN=access-token

デバイスモデルの操作

デバイスモデルの定義と登録

  1. ファイル(例:device_model.json)はデバイスモデルの特性を表します。詳しくは、デバイスモデルの JSON リファレンスをご覧ください。

  2. 次のいずれかの方法でデバイスモデルを登録します。以下の URL に含まれる project_id は、デバイスモデルに関連付けられている project_id に置き換えてください。

    • 次のコマンドを使用します。

      curl -s -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer $ACCESSTOKEN" -d @device_model.json \
      https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/
    • 次の属性を使用して HTTPS リクエストを送信します。

    どちらの方法でも、送信したデバイスモデル JSON のコピーがサーバーから返されます。このモデルがすでにサーバーに存在する場合は、ALREADY_EXISTS エラーが返されます。

デバイスモデルを取得する

次のいずれかの方法でデバイスモデルを取得します。以下の URL に含まれる project_iddevice_model_id は、該当するデバイスモデルに関連付けられている値に置き換えてください。

デバイスモデルを一覧表示する

次のいずれかの方法で、特定のプロジェクトに属するすべてのデバイスモデルを一覧表示します。以下の URL に含まれる project_id は、デバイスモデルに関連付けられている project_id に置き換えてください。

デバイスモデルを更新する

次のいずれかの方法でデバイスモデルを更新します。デバイスモデルに関連付けられている project_iddevice_model_id を忘れずに置き換えてください。

どちらの方法でも、サーバーは送信した更新済みのデバイスモデル JSON のコピーを返します。

デバイスモデルを削除する

次のいずれかの方法でデバイスモデルを削除します。以下の URL に含まれる project_iddevice_model_id は、該当するデバイスモデルに関連付けられている値に置き換えてください。

デバイス インスタンスの操作

デバイス インスタンスの定義と登録

  1. ファイル(例:test_device.json)。詳しくは、デバイス インスタンスの JSON リファレンスをご覧ください。

  2. 次のいずれかの方法でデバイスを登録します。以下の URL に含まれる project_id は、デバイスモデルに関連付けられている project_id に置き換えてください。

    • 次のコマンドを使用します。

      curl -s -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer $ACCESSTOKEN" -d @test_device.json \
      https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
    • 次の属性を使用して HTTPS リクエストを送信します。

    どちらの方法でも、送信したデバイス インスタンス JSON のコピーがサーバーから返されます。インスタンスがすでにサーバーに存在する場合は、ALREADY_EXISTS エラーが返されます。

デバイス インスタンスを取得する

次のいずれかの方法でデバイス インスタンスを取得します。以下の URL にあるデバイスモデルに関連付けられている project_id とデバイスの id を必ず置き換えてください。

デバイス インスタンスを一覧表示する

次のいずれかの方法で、特定のプロジェクトのすべてのデバイス インスタンスを一覧表示します。以下の URL にあるproject_id デバイスインスタンスに関連付けられている URL に置き換えてください。

  • 次のコマンドを使用します。

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
  • 次の属性を使用して HTTPS リクエストを送信します。

デバイス インスタンスを削除する

次のいずれかの方法でデバイス インスタンスを削除します。以下の URL にあるデバイスモデルに関連付けられている project_id とデバイスの id を必ず置き換えてください。