Google Assistant SDK に付属の登録ツールを使用すると、デバイスモデルとインスタンスをすばやく登録または更新でき、開発時間を短縮できます。
このツールを使用しない場合は、JSON ファイルと REST API を使用して、デバイスを手動で登録または更新できます。この操作はどのパソコンでも行えます。まず、アクセス トークンを取得して、適切なセクションに進んでください。
アクセス トークンを取得する
認可ツールが最新であることを確認します。
python -m pip install --upgrade google-auth-oauthlib[tool]
新しいデバイスモデルを登録できるように、認証情報を取得します。前の ステップ。
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://...
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
が表示された場合は、無効なコードが入力されています。 コード全体をコピーして貼り付けてください。JSON レスポンスで
token
を見つけます。このアクセス トークン(二重引用符を除く)を環境変数にコピーします。ACCESSTOKEN=access-token
デバイスモデルの操作
デバイスモデルの定義と登録
ファイル(例:
device_model.json
)はデバイスモデルの特性を表します。詳しくは、デバイスモデルの JSON リファレンスをご覧ください。次のいずれかの方法でデバイスモデルを登録します。以下の 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 リクエストを送信します。
- URL: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/
- メソッド:
POST
- 本文:
device_model.json
の内容 - ヘッダー:
Authorization: Bearer <access-token>
。<access-token> はアクセス トークンを含む文字列です。
どちらの方法でも、送信したデバイスモデル JSON のコピーがサーバーから返されます。このモデルがすでにサーバーに存在する場合は、
ALREADY_EXISTS
エラーが返されます。
デバイスモデルを取得する
次のいずれかの方法でデバイスモデルを取得します。以下の URL に含まれる project_id
と device_model_id
は、該当するデバイスモデルに関連付けられている値に置き換えてください。
次のコマンドを使用します。
curl -s -X GET -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESSTOKEN" \ https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/device_model_id
次の属性を使用して HTTPS リクエストを送信します。
- URL: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/<device_model_id>
- メソッド:
GET
- 本文: なし
- ヘッダー:
Authorization: Bearer <access-token>
。<access-token> はアクセス トークンを含む文字列です。
デバイスモデルを一覧表示する
次のいずれかの方法で、特定のプロジェクトに属するすべてのデバイスモデルを一覧表示します。以下の URL に含まれる project_id
は、デバイスモデルに関連付けられている project_id
に置き換えてください。
次のコマンドを使用します。
curl -s -X GET -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESSTOKEN" \ https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/
次の属性を使用して HTTPS リクエストを送信します。
- URL: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/
- メソッド:
GET
- 本文: なし
- ヘッダー:
Authorization: Bearer <access-token>
。<access-token> はアクセス トークンを含む文字列です。
デバイスモデルを更新する
次のいずれかの方法でデバイスモデルを更新します。デバイスモデルに関連付けられている project_id
と device_model_id
を忘れずに置き換えてください。
次のコマンドを使用します。
curl -s -X PUT -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESSTOKEN" -d @device_model.json \ https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/device_model_id
次の属性を使用して HTTPS リクエストを送信します。
- URL: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/<device_model_id>
- メソッド:
PUT
- 本文:
device_model.json
の内容 - ヘッダー:
Authorization: Bearer <access-token>
。<access-token> はアクセス トークンを含む文字列です。
どちらの方法でも、サーバーは送信した更新済みのデバイスモデル JSON のコピーを返します。
デバイスモデルを削除する
次のいずれかの方法でデバイスモデルを削除します。以下の URL に含まれる project_id
と device_model_id
は、該当するデバイスモデルに関連付けられている値に置き換えてください。
次のコマンドを使用します。
curl -s -X DELETE -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESSTOKEN" \ https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/device_model_id
次の属性を使用して HTTPS リクエストを送信します。
- URL: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/<device_model_id>
- メソッド:
DELETE
- 本文: なし
- ヘッダー:
Authorization: Bearer <access-token>
。<access-token> はアクセス トークンを含む文字列です。
デバイス インスタンスの操作
デバイス インスタンスの定義と登録
ファイル(例:
test_device.json
)。詳しくは、デバイス インスタンスの JSON リファレンスをご覧ください。次のいずれかの方法でデバイスを登録します。以下の 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 リクエストを送信します。
- URL: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/
- メソッド:
POST
- 本文:
test_device.json
の内容 - ヘッダー:
Authorization: Bearer <access-token>
。<access-token> はアクセス トークンを含む文字列です。
どちらの方法でも、送信したデバイス インスタンス JSON のコピーがサーバーから返されます。インスタンスがすでにサーバーに存在する場合は、
ALREADY_EXISTS
エラーが返されます。
デバイス インスタンスを取得する
次のいずれかの方法でデバイス インスタンスを取得します。以下の URL にあるデバイスモデルに関連付けられている project_id
とデバイスの id
を必ず置き換えてください。
次のコマンドを使用します。
curl -s -X GET -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESSTOKEN" \ https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
次の属性を使用して HTTPS リクエストを送信します。
- URL: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/<id>
- メソッド:
GET
- 本文: なし
- ヘッダー:
Authorization: Bearer <access-token>
。<access-token> はアクセス トークンを含む文字列です。
デバイス インスタンスを一覧表示する
次のいずれかの方法で、特定のプロジェクトのすべてのデバイス インスタンスを一覧表示します。以下の 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: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/
- メソッド:
GET
- 本文: なし
- ヘッダー:
Authorization: Bearer <access-token>
。<access-token> はアクセス トークンを含む文字列です。
デバイス インスタンスを削除する
次のいずれかの方法でデバイス インスタンスを削除します。以下の URL にあるデバイスモデルに関連付けられている project_id
とデバイスの id
を必ず置き換えてください。
次のコマンドを使用します。
curl -s -X DELETE -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESSTOKEN" \ https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
次の属性を使用して HTTPS リクエストを送信します。
- URL: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/<id>
- メソッド:
DELETE
- 本文: なし
- ヘッダー:
Authorization: Bearer <access-token>
。<access-token> はアクセス トークンを含む文字列です。