Registra manualmente un dispositivo con l'API REST

Per uno sviluppo rapido, puoi utilizzare lo strumento di registrazione fornito con l'SDK dell'Assistente Google per registrare o aggiornare rapidamente un modello di dispositivo e un'istanza.

Se non vuoi usare questo strumento, puoi registrare o aggiornare manualmente un dispositivo utilizzando un file JSON e l'API REST. Puoi farlo su qualsiasi computer. Per prima cosa, ottieni un token di accesso, quindi passa alla sezione appropriata.

Ottenere un token di accesso

  1. Assicurati che lo strumento di autorizzazione sia aggiornato:

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

  2. Ottieni le credenziali per registrare un nuovo modello di dispositivo. Fai riferimento al file JSON che hai copiato sul dispositivo in un passaggio.

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

    Nel terminale dovrebbe essere visualizzato un URL:

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

  3. Copia l'URL e incollalo in un browser (puoi farlo sul tuo computer di sviluppo o su qualsiasi altro computer). Dopo l'approvazione, nel browser verrà visualizzato un codice, ad esempio "4/XXXX". Copia e incolla questo codice nel terminale:

    Enter the authorization code:

    Se l'autorizzazione ha esito positivo, visualizzerai una risposta JSON simile alla seguente:

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

    Se invece vedi UNAUTHENTICATED, significa che è stato inserito un codice non valido. Riprova, avendo cura di copiare e incollare l'intero codice.

  4. Trova token nella risposta JSON. Copia questo token di accesso (escluse le virgolette doppie) in una variabile di ambiente:

    ACCESSTOKEN=access-token

Operazioni del modello di dispositivo

Definisci e registra il modello del dispositivo

  1. Creare un file (ad es. device_model.json) che descrivono le caratteristiche del modello del tuo dispositivo. Per ulteriori informazioni, consulta il riferimento JSON per il modello di dispositivo.

  2. Registra il modello del tuo dispositivo utilizzando uno dei seguenti metodi. Ricordati di sostituire l'elemento project_id associato al modello di dispositivo negli URL riportati di seguito.

    • Utilizza il seguente comando:

      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/
    • Invia una richiesta HTTPS con i seguenti attributi:

    Per entrambi i metodi, il server deve restituire una copia del codice JSON del modello del dispositivo che hai inviato. Se il modello esiste già sul server, riceverai un errore ALREADY_EXISTS.

Ottieni un modello di dispositivo

Ottieni un modello di dispositivo utilizzando uno dei seguenti metodi. Ricordati di sostituire project_id e device_model_id associati al modello del tuo dispositivo negli URL riportati di seguito.

Elenca i modelli di dispositivi

Elenca tutti i modelli di dispositivi per un determinato progetto utilizzando uno dei seguenti metodi. Ricordati di sostituire l'attributo project_id associato ai modelli di dispositivi negli URL riportati di seguito.

Aggiorna il modello del dispositivo

Aggiorna il modello di dispositivo utilizzando uno dei seguenti metodi. Ricordati di sostituire project_id e device_model_id associati al modello del tuo dispositivo.

Per entrambi i metodi, il server deve restituire una copia del modello JSON aggiornato del modello di dispositivo che hai inviato.

Elimina un modello di dispositivo

Elimina un modello di dispositivo utilizzando uno dei seguenti metodi. Ricordati di sostituire project_id e device_model_id associati al modello del tuo dispositivo negli URL riportati di seguito.

Operazioni dell'istanza del dispositivo

Definisci e registra un'istanza del dispositivo

  1. Creare un file (ad es. test_device.json) che identifica il tuo dispositivo. Per ulteriori informazioni, vedi il riferimento JSON dell'istanza del dispositivo.

  2. Registra il tuo dispositivo utilizzando uno dei seguenti metodi. Ricordati di sostituire l'elemento project_id associato al modello di dispositivo negli URL riportati di seguito.

    • Utilizza il seguente comando:

      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/
    • Invia una richiesta HTTPS con i seguenti attributi:

    Per entrambi i metodi, il server deve restituire una copia del codice JSON dell'istanza del dispositivo che hai inviato. Se l'istanza esiste già sul server, riceverai un errore ALREADY_EXISTS.

Ottieni un'istanza del dispositivo

Ottieni l'istanza del dispositivo utilizzando uno dei seguenti metodi. Ricordati di sostituire l'attributo project_id associato al modello di dispositivo e il dispositivo id negli URL riportati di seguito.

Elenca le istanze del dispositivo

Elenca tutte le istanze del dispositivo per un determinato progetto utilizzando uno dei seguenti metodi. Ricordati di sostituire l'elemento project_id associato alle istanze del dispositivo negli URL riportati di seguito.

  • Utilizza il seguente comando:

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
  • Invia una richiesta HTTPS con i seguenti attributi:

Elimina un'istanza del dispositivo

Elimina l'istanza del dispositivo utilizzando uno dei seguenti metodi. Ricordati di sostituire l'attributo project_id associato al modello di dispositivo e il dispositivo id negli URL riportati di seguito.