Guida rapida di Python

Crea un'applicazione da riga di comando Python che effettua richieste all'API Google Chat.

Le guide rapide spiegano come configurare ed eseguire un'app che chiama un'API Google Workspace. Questa guida rapida utilizza un approccio di autenticazione semplificato adatto a un ambiente di test. Per un ambiente di produzione, ti consigliamo di scoprire di più sull'autenticazione e sull'autorizzazione prima di scegliere le credenziali di accesso appropriate per la tua app.

Questa guida rapida utilizza le librerie client API consigliate di Google Workspace per gestire alcuni dettagli del flusso di autenticazione e autorizzazione.

Obiettivi

  • Configurare l'ambiente.
  • Installare la libreria client.
  • Configurare l'esempio.
  • Eseguire l'esempio.

Prerequisiti

Per eseguire questa guida rapida, devi soddisfare i seguenti prerequisiti:

Configurare l'ambiente

Per completare questa guida rapida, configura l'ambiente.

Abilitare l'API

Prima di utilizzare le API di Google, devi attivarle in un progetto Google Cloud. Puoi attivare una o più API in un singolo progetto Google Cloud.
  • Nella console Google Cloud, abilita l'API Google Chat.

    Abilita l'API

Se utilizzi un nuovo progetto Google Cloud per completare questa guida rapida, configura la schermata per il consenso OAuth. Se hai già completato questo passaggio per il tuo progetto Cloud, vai alla sezione successiva.

  1. Nella console API di Google, vai a Menu > Piattaforma di autenticazione Google > Branding.

    Vai a Branding

  2. Se hai già configurato la piattaforma di autenticazione Google, puoi configurare le seguenti impostazioni della schermata per il consenso OAuth in Branding, Pubblico e Accesso ai dati. Se visualizzi il messaggio Google Auth platform not configured yet (La piattaforma di autenticazione Google non è ancora configurata), fai clic su Get Started (Inizia):
    1. In Informazioni sull'app, nel campo Nome app, inserisci un nome per l'app.
    2. In Email di assistenza utente, scegli un indirizzo email di assistenza a cui gli utenti possono contattarti se hanno domande sul loro consenso.
    3. Fai clic su Avanti.
    4. In Pubblico, seleziona Interno.
    5. Fai clic su Avanti.
    6. In Dati di contatto, inserisci un indirizzo email a cui puoi ricevere notifiche in merito a eventuali modifiche al tuo progetto.
    7. Fai clic su Avanti.
    8. In Fine , esamina le Norme relative ai dati utente dei servizi API di Google e, se le accetti, seleziona Accetto le Norme relative ai dati utente dei servizi API di Google.
    9. Fai clic su Continua.
    10. Fai clic su Crea.
  3. Per il momento, puoi saltare l'aggiunta di ambiti. In futuro, quando crei un'app da utilizzare al di fuori della tua organizzazione Google Workspace, devi impostare il Tipo di utente su Esterno. Aggiungi poi gli ambiti di autorizzazione richiesti dalla tua app. Per saperne di più, consulta la guida completa Configurare il consenso OAuth guide.

Autorizzare le credenziali per un'applicazione desktop

Per autenticare gli utenti finali e accedere ai dati utente nella tua app, devi creare uno o più ID client OAuth 2.0. L'ID client viene utilizzato per identificare una singola app nei server OAuth di Google. Se l'app viene eseguita su più piattaforme, devi creare un ID client separato per ogni piattaforma.
  1. Nella console API di Google, vai a Menu > Piattaforma di autenticazione Google > Client.

    Vai a Client

  2. Fai clic su Crea client.
  3. Fai clic su Tipo di applicazione > App desktop.
  4. Nel campo Nome, digita un nome per la credenziale. Questo nome viene visualizzato solo nella console API di Google.
  5. Fai clic su Crea.

    La credenziale appena creata viene visualizzata in "ID client OAuth 2.0".

  6. Salva il file JSON scaricato come credentials.json e sposta il file nella directory di lavoro.

Configurare l'app Google Chat

Per chiamare l'API Google Chat, devi configurare un'app Google Chat. Per tutte le richieste di scrittura, Google Chat attribuisce l'app Google Chat nell'interfaccia utente utilizzando le seguenti informazioni.

  1. Nella console API di Google, vai alla pagina Configurazione dell'API Chat:

    Vai alla pagina di configurazione dell'API Chat

  2. In Informazioni sull'applicazione, inserisci le seguenti informazioni:

    1. Nel campo Nome app, inserisci Chat API quickstart app.
    2. Nel campo URL avatar, inserisci https://developers.google.com/chat/images/quickstart-app-avatar.png.
    3. Nel campo Descrizione, inserisci Quickstart for calling the Chat API.
  3. In Funzionalità interattive, fai clic sul pulsante di attivazione/disattivazione Abilita funzionalità interattive per disabilitare le funzionalità interattive per l' app Chat.

  4. Fai clic su Salva.

Installare la libreria client di Google

  • Installa la libreria client di Google per Python:

    python3 -m pip install --upgrade google-apps-chat google-auth-httplib2 google-auth-oauthlib
    

Configurare l'esempio

  1. Nella directory di lavoro, crea un file denominato quickstart.py.
  2. Includi il seguente codice in quickstart.py:

    chat/quickstart/quickstart.py
    from __future__ import print_function
    
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from google.apps import chat_v1 as google_chat
    
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ['https://www.googleapis.com/auth/chat.spaces.readonly']
    
    
    def main():
        """Shows basic usage of the Google Chat API.
        """
        creds = None
        # The file token.json stores the user's access and refresh tokens, and is
        # created automatically when the authorization flow completes for the first
        # time.
        if os.path.exists('token.json'):
            creds = Credentials.from_authorized_user_file('token.json', SCOPES)
        # If there are no (valid) credentials available, let the user log in.
        if not creds or not creds.valid:
            if creds and creds.expired and creds.refresh_token:
                creds.refresh(Request())
            else:
                flow = InstalledAppFlow.from_client_secrets_file(
                    'credentials.json', SCOPES)
                creds = flow.run_local_server(port=0)
            # Save the credentials for the next run
            with open('token.json', 'w') as token:
                token.write(creds.to_json())
    
        try:
            # Create a client
            client = google_chat.ChatServiceClient(
                credentials = creds,
                client_options = {
                    "scopes" : SCOPES
                }
            )
    
            # Initialize request argument(s)
            request = google_chat.ListSpacesRequest(
                # Filter spaces by space type (SPACE or GROUP_CHAT or DIRECT_MESSAGE)
                filter = 'space_type = "SPACE"'
            )
    
            # Make the request
            page_result = client.list_spaces(request)
    
            # Handle the response. Iterating over page_result will yield results and
            # resolve additional pages automatically.
            for response in page_result:
                print(response)
        except Exception as error:
            # TODO(developer) - Handle errors from Chat API.
            print(f'An error occurred: {error}')
    
    
    if __name__ == '__main__':
        main()

Eseguire l'esempio

  1. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 quickstart.py
    
  1. La prima volta che esegui l'esempio, ti viene chiesto di autorizzare l'accesso:
    1. Se non l'hai ancora fatto, accedi al tuo Account Google quando ti viene richiesto. Se hai eseguito l'accesso a più account, seleziona un account da utilizzare per l'autorizzazione.
    2. Fai clic su Accetto.

    L'applicazione Python viene eseguita e chiama l'API Google Chat.

    Le informazioni di autorizzazione vengono archiviate nel file system, quindi la prossima volta che esegui il codice di esempio non ti verrà richiesta l'autorizzazione.

Passaggi successivi