Enregistrer manuellement un appareil avec l'API REST

Pour un développement rapide, vous pouvez utiliser l'outil d'enregistrement fourni avec le SDK de l'Assistant Google pour enregistrer ou mettre à jour rapidement un modèle et une instance d'appareil.

Si vous ne souhaitez pas utiliser cet outil, vous pouvez enregistrer ou mettre à jour manuellement un appareil à l'aide d'un fichier JSON et de l'API REST. Vous pouvez le faire sur n'importe quel ordinateur. Commencez par obtenir un jeton d'accès, puis passez à la section appropriée.

Obtenir un jeton d'accès

  1. Assurez-vous que l'outil d'autorisation est à jour :

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

  2. Obtenez des identifiants pour pouvoir enregistrer un nouveau modèle d'appareil. Référencez le fichier JSON que vous avez copié sur l'appareil à une étape étape.

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

    Une URL doit s'afficher dans le terminal :

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

  3. Copiez l'URL et collez-la dans un navigateur (vous pouvez le faire sur votre ordinateur de développement ou sur n'importe quel autre ordinateur). Une fois votre demande approuvée, un code tel que "4/XXXX" s'affiche dans votre navigateur. Copiez et collez ce code dans le terminal:

    Enter the authorization code:

    Si l'autorisation a abouti, une réponse JSON semblable à la suivante s'affiche :

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

    Si la valeur UNAUTHENTICATED s'affiche, cela signifie qu'un code non valide a été saisi. Réessayez en prenant soin de copier et coller l'intégralité du code.

  4. Recherchez token dans la réponse JSON. Copiez ce jeton d'accès (sans les guillemets doubles) dans une variable d'environnement:

    ACCESSTOKEN=access-token

Opérations liées aux modèles d'appareils

Définir et enregistrer le modèle de l'appareil

  1. Créez un fichier (par exemple, device_model.json) décrivant les caractéristiques du modèle de votre appareil. Pour en savoir plus, consultez la documentation de référence sur le modèle d'appareil JSON.

  2. Enregistrez le modèle de votre appareil en utilisant l'une des méthodes suivantes. N'oubliez pas de remplacer le project_id associé au modèle de l'appareil dans les URL ci-dessous.

    • Exécutez la commande ci-dessous :

      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/
    • Envoyez une requête HTTPS avec les attributs suivants:

    Quelle que soit la méthode choisie, le serveur doit renvoyer une copie du fichier JSON du modèle d'appareil que vous avez envoyé. Si le modèle existe déjà sur le serveur, vous recevrez une erreur ALREADY_EXISTS.

Obtenir un modèle d'appareil

Obtenez un modèle d'appareil en utilisant l'une des méthodes suivantes. N'oubliez pas de remplacer project_id et device_model_id associés au modèle de votre appareil dans les URL ci-dessous.

Lister les modèles d'appareils

Répertoriez tous vos modèles d'appareils pour un projet donné en utilisant l'une des méthodes suivantes. N'oubliez pas de remplacer le project_id associé aux modèles de vos appareils dans les URL ci-dessous.

  • Exécutez la commande ci-dessous :

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/
  • Envoyez une requête HTTPS avec les attributs suivants:

Mettre à jour le modèle de l'appareil

Mettez à jour le modèle de l'appareil en utilisant l'une des méthodes suivantes. N'oubliez pas de remplacer project_id et device_model_id associés au modèle de votre appareil.

  • Exécutez la commande ci-dessous :

    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
  • Envoyez une requête HTTPS avec les attributs suivants:

Quelle que soit la méthode choisie, le serveur doit renvoyer une copie du fichier JSON du modèle d'appareil mis à jour que vous avez envoyé.

Supprimer un modèle d'appareil

Supprimez un modèle d'appareil en utilisant l'une des méthodes suivantes. N'oubliez pas de remplacer project_id et device_model_id associés au modèle de votre appareil dans les URL ci-dessous.

Opérations des instances d'appareil

Définir et enregistrer une instance d'appareil

  1. Créez un fichier (par exemple, test_device.json) qui identifie votre appareil. Pour en savoir plus, consultez la documentation de référence sur l'instance d'appareil JSON.

  2. Enregistrez votre appareil en utilisant l'une des méthodes suivantes. N'oubliez pas de remplacer le project_id associé au modèle de l'appareil dans les URL ci-dessous.

    • Exécutez la commande ci-dessous :

      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/
    • Envoyez une requête HTTPS avec les attributs suivants:

    Quelle que soit la méthode choisie, le serveur doit renvoyer une copie du fichier JSON de l'instance d'appareil que vous avez envoyée. Si l'instance existe déjà sur le serveur, vous recevrez une erreur ALREADY_EXISTS.

Obtenir une instance d'appareil

Obtenez votre instance d'appareil en utilisant l'une des méthodes suivantes. N'oubliez pas de remplacer le project_id associé au modèle de l'appareil et à l'appareil id dans les URL ci-dessous.

  • Exécutez la commande ci-dessous :

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
  • Envoyez une requête HTTPS avec les attributs suivants:

Lister les instances d'appareil

Répertoriez toutes vos instances d'appareil pour un projet donné en utilisant l'une des méthodes suivantes. N'oubliez pas de remplacer le project_id associé aux instances d'appareil dans les URL ci-dessous.

  • Exécutez la commande ci-dessous :

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
  • Envoyez une requête HTTPS avec les attributs suivants:

Supprimer une instance d'appareil

Supprimez votre instance d'appareil en utilisant l'une des méthodes suivantes. N'oubliez pas de remplacer le project_id associé au modèle de l'appareil et à l'appareil id dans les URL ci-dessous.

  • Exécutez la commande ci-dessous :

    curl -s -X DELETE -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
  • Envoyez une requête HTTPS avec les attributs suivants: