Gerät manuell mit der REST API registrieren

Für eine schnelle Entwicklung können Sie das Registrierungstool verwenden, das im Google Assistant SDK enthalten ist, um ein Gerätemodell und eine Instanz schnell zu registrieren oder zu aktualisieren.

Wenn Sie dieses Tool nicht verwenden möchten, können Sie ein Gerät mithilfe einer JSON-Datei und der REST API manuell registrieren oder aktualisieren. Das ist auf jedem Computer möglich. Rufen Sie zuerst ein Zugriffstoken ab und fahren Sie dann mit dem entsprechenden Abschnitt fort.

Zugriffstoken anfordern

  1. Das Autorisierungstool muss auf dem neuesten Stand sein:

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

  2. Fordern Sie Anmeldedaten an, um ein neues Gerätemodell registrieren zu können. Verweisen Sie auf die JSON-Datei, die Sie in einem vorherigen Schritt.

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

    Im Terminal sollte eine URL angezeigt werden:

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

  3. Kopieren Sie die URL und fügen Sie sie in einen Browser ein. Dies kann auf Ihrem Entwicklungscomputer oder einem beliebigen anderen Computer erfolgen. Nach der Genehmigung wird ein Code im Browser angezeigt, z. B. „4/XXXX“. Kopieren Sie diesen Code und fügen Sie ihn in das Terminal ein:

    Enter the authorization code:

    Wenn die Autorisierung erfolgreich war, sehen Sie eine JSON-Antwort ähnlich der folgenden:

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

    Wenn stattdessen UNAUTHENTICATED angezeigt wird, wurde ein ungültiger Code eingegeben. Versuchen Sie es noch einmal. Kopieren Sie dabei den gesamten Code und fügen Sie ihn ein.

  4. Suchen Sie in der JSON-Antwort nach token. Kopieren Sie dieses Zugriffstoken (ohne doppelte Anführungszeichen) in eine Umgebungsvariable:

    ACCESSTOKEN=access-token

Gerätemodellvorgänge

Gerätemodell definieren und registrieren

  1. Erstellen Sie eine Datei (z.B. device_model.json), die die Merkmale deines Gerätemodells beschreibt. Weitere Informationen finden Sie in der JSON-Referenz zum Gerätemodell.

  2. Registrieren Sie Ihr Gerätemodell mit einer der folgenden Methoden. Denken Sie daran, in den folgenden URLs den project_id zu ersetzen, der mit dem Gerätemodell verknüpft ist.

    • Verwenden Sie den folgenden Befehl:

      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/
    • Senden Sie eine HTTPS-Anfrage mit den folgenden Attributen:

    Bei beiden Methoden sollte der Server eine Kopie des von Ihnen gesendeten Gerätemodell-JSON zurückgeben. Wenn das Modell bereits auf dem Server vorhanden ist, wird der Fehler ALREADY_EXISTS angezeigt.

Gerätemodell abrufen

Rufen Sie mit einer der folgenden Methoden ein Gerätemodell ab. Denken Sie daran, in den folgenden URLs die mit Ihrem Gerätemodell verknüpften project_id und device_model_id zu ersetzen.

Gerätemodelle auflisten

Listen Sie alle Ihre Gerätemodelle für ein bestimmtes Projekt mit einer der folgenden Methoden auf. Denken Sie daran, in den folgenden URLs den project_id zu ersetzen, der mit Ihren Gerätemodellen verknüpft ist.

  • Verwenden Sie den folgenden Befehl:

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/
  • Senden Sie eine HTTPS-Anfrage mit den folgenden Attributen:

Gerätemodell aktualisieren

Aktualisieren Sie das Gerätemodell mit einer der folgenden Methoden. Denken Sie daran, die mit Ihrem Gerätemodell verknüpften project_id und device_model_id zu ersetzen.

  • Verwenden Sie den folgenden Befehl:

    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
  • Senden Sie eine HTTPS-Anfrage mit den folgenden Attributen:

Bei beiden Methoden sollte der Server eine Kopie des aktualisierten Gerätemodell-JSON zurückgeben, das Sie gesendet haben.

Gerätemodell löschen

Löschen Sie ein Gerätemodell mit einer der folgenden Methoden. Denken Sie daran, in den folgenden URLs die mit Ihrem Gerätemodell verknüpften project_id und device_model_id zu ersetzen.

Geräteinstanzvorgänge

Geräteinstanz definieren und registrieren

  1. Erstellen Sie eine Datei (z.B. test_device.json), über die dein Gerät identifiziert werden kann. Weitere Informationen finden Sie in der JSON-Referenz zu Geräteinstanzen.

  2. Registrieren Sie Ihr Gerät mit einer der folgenden Methoden. Denken Sie daran, in den folgenden URLs den project_id zu ersetzen, der mit dem Gerätemodell verknüpft ist.

    • Verwenden Sie den folgenden Befehl:

      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/
    • Senden Sie eine HTTPS-Anfrage mit den folgenden Attributen:

    Bei beiden Methoden sollte der Server eine Kopie der von Ihnen gesendeten Geräteinstanz-JSON-Datei zurückgeben. Wenn die Instanz bereits auf dem Server vorhanden ist, wird der Fehler ALREADY_EXISTS angezeigt.

Geräteinstanz abrufen

Rufen Sie Ihre Geräteinstanz mit einer der folgenden Methoden ab. Ersetzen Sie in den folgenden URLs den project_id, der dem Gerätemodell zugeordnet ist, und den id des Geräts.

  • Verwenden Sie den folgenden Befehl:

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
  • Senden Sie eine HTTPS-Anfrage mit den folgenden Attributen:

Geräteinstanzen auflisten

Listen Sie alle Geräteinstanzen für ein bestimmtes Projekt mit einer der folgenden Methoden auf. Denken Sie daran, in den unten aufgeführten URLs den mit den Geräteinstanzen verknüpften project_id zu ersetzen.

  • Verwenden Sie den folgenden Befehl:

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
  • Senden Sie eine HTTPS-Anfrage mit den folgenden Attributen:

Geräteinstanz löschen

Löschen Sie die Geräteinstanz mit einer der folgenden Methoden. Ersetzen Sie in den folgenden URLs den project_id, der dem Gerätemodell zugeordnet ist, und den id des Geräts.

  • Verwenden Sie den folgenden Befehl:

    curl -s -X DELETE -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
  • Senden Sie eine HTTPS-Anfrage mit den folgenden Attributen: