Criar uma assinatura do Google Workspace

Nesta página, explicamos como usar a API Google Workspace Events para criar um assinatura de um recurso do Google Workspace. Uma assinatura do Google Workspace permite que o app receba informações sobre eventos do Google Workspace, o que para representar as mudanças em um recurso do Google Workspace. Para saber mais sobre quais recursos e tipos de evento são compatíveis com a API Google Workspace Events; consulte a visão geral da API Google Workspace Events.

Esta página inclui as etapas a seguir para criar um Google Workspace assinatura:

  1. Configurar o ambiente.
  2. Criar e assinar um tópico do Google Cloud Pub/Sub. Você usa este tópico como um endpoint para receber eventos do Google Workspace.
  3. Chame o create() da API Google Workspace Events na classe Subscription recurso.
  4. Teste sua assinatura do Google Workspace para confirmar que o Pub/Sub recebe eventos nos quais você se inscreveu.
  5. Opcionalmente, configure como enviar eventos para um endpoint para seu aplicativo. que o app possa processar o evento e, se necessário, tomar providências.

Pré-requisitos

Apps Script

  • Para usar os comandos da CLI do Google Cloud neste guia:
    1. Instale o Google Cloud CLI.
    2. Para inicialize a CLI gcloud e execute este código:
    3.   gcloud init
        
  • um projeto do Google Cloud; com o faturamento ativado. Para assinaturas do Chat, você precisa: ativar a API Chat no projeto do Cloud configure o Nome do app, o URL do avatar e a Descrição campos. Para mais detalhes, consulte Criar um app do Google Chat.
  • Exige autenticação do usuário com a tela de permissão OAuth configurada para o app. Ao configurar a tela de consentimento, especifique um escopo para oferecem suporte a cada tipo de evento da assinatura. Para configurar o consentimento e identificar os escopos necessários, consulte Escolher escopos.
  • Um projeto do Apps Script:
    • Use seu projeto do Google Cloud em vez do projeto padrão criado automaticamente pelo Apps Script.
    • Para os escopos adicionados para configurar a tela de permissão OAuth, também é necessário adicionar o escopos para o arquivo appsscript.json no seu projeto do Apps Script. Exemplo:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • Ativar o serviço avançado Google Workspace Events.

Python

  • Python 3.6 ou superior
  • a ferramenta de gerenciamento de pacotes PIP;
  • As bibliotecas de cliente mais recentes do Google para Python. Para instalá-los ou atualizá-los, execute o seguinte na interface de linha de comando:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • Para usar os comandos da CLI do Google Cloud neste guia:
    1. Instale o Google Cloud CLI.
    2. Para inicialize a CLI gcloud e execute este código:
    3.   gcloud init
        
  • um projeto do Google Cloud; com o faturamento ativado. Para assinaturas do Chat, você precisa: ativar a API Chat no projeto do Cloud configure o Nome do app, o URL do avatar e a Descrição campos. Para mais detalhes, consulte Criar um app do Google Chat.
  • Exige autenticação do usuário com a tela de permissão OAuth configurada para o app. Ao configurar a tela de consentimento, especifique um escopo para oferecem suporte a cada tipo de evento da assinatura. Para configurar o consentimento e identificar os escopos necessários, consulte Escolher escopos.

Configurar o ambiente

A seção a seguir explica como configurar o ambiente antes da criação é necessário ter uma assinatura do Google Workspace.

Ative a API Google Workspace Events e a API Google Cloud Pub/Sub

Antes de usar as APIs do Google, você precisa ativá-las em um projeto do Google Cloud. É possível ativar uma ou mais APIs em um único projeto do Google Cloud.

Console do Google Cloud

No console do Google Cloud, abra o projeto do Google Cloud do seu app e ative a opção API Google Workspace Events e API Pub/Sub:

Ativar as APIs

gcloud

  1. No diretório de trabalho, faça login na sua Conta do Google:

    gcloud auth login
    
  2. Defina seu projeto como o projeto do Cloud do seu app:

    gcloud config set project PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto do Cloud do seu app.

  3. Ative a API Google Workspace Events e o Google Cloud Pub/Sub API:

    gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
    

Criar credenciais de ID do cliente OAuth

Escolha seu tipo de aplicativo para conferir instruções específicas sobre como criar um ID do cliente OAuth:

Aplicativo da Web

  1. No console do Google Cloud, acesse Menu > APIs e Serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais > ID do cliente OAuth.
  3. Clique em Tipo de aplicativo > Aplicativo da Web.
  4. No campo Nome, digite um nome para a credencial. Esse nome só é mostrado no console do Google Cloud.
  5. Adicione URIs autorizados relacionados ao app:
    • Apps do lado do cliente (JavaScript): em Origens JavaScript autorizadas, clique em Adicionar URI. Em seguida, insira um URI a ser usado para solicitações do navegador. Isso identifica os domínios dos quais seu aplicativo pode enviar solicitações de API para o servidor OAuth 2.0.
    • Apps do servidor (Java, Python e mais): em URIs de redirecionamento autorizados, clique em Adicionar URI. Em seguida, insira um URI de endpoint para o qual o servidor OAuth 2.0 pode enviar respostas.
  6. Clique em Criar. A tela criada pelo cliente OAuth será exibida, mostrando o novo ID e a chave secreta do cliente.

    Anote o ID do cliente. As chaves secretas não são usadas para aplicativos da Web.

  7. Clique em OK. A credencial recém-criada aparece em IDs do cliente do OAuth 2.0.

Android

  1. No console do Google Cloud, acesse Menu > APIs e Serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais > ID do cliente OAuth.
  3. Clique em Tipo de aplicativo > Android.
  4. No campo "Nome", digite um nome para a credencial. Esse nome só é mostrado no console do Google Cloud.
  5. No campo "Package name" (Nome do pacote), digite o nome do pacote do arquivo AndroidManifest.xml.
  6. Na "Impressão digital do certificado SHA-1" digite a impressão digital gerada pelo certificado SHA-1.
  7. Clique em Criar. A tela criada pelo cliente OAuth vai aparecer, mostrando o novo ID do cliente.
  8. Clique em OK. A credencial recém-criada aparece em "IDs do cliente OAuth 2.0".

iOS

  1. No console do Google Cloud, acesse Menu > APIs e Serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais > ID do cliente OAuth.
  3. Clique em Tipo de aplicativo > iOS.
  4. No campo "Nome", digite um nome para a credencial. Esse nome só é mostrado no console do Google Cloud.
  5. Em "ID do pacote" digite o identificador do pacote conforme listado no arquivo Info.plist do app.
  6. Opcional: se o seu aplicativo aparecer na App Store da Apple, digite o ID da App Store.
  7. Opcional: em "ID da equipe" digite a string exclusiva de 10 caracteres, gerada pela Apple e atribuída à sua equipe.
  8. Clique em Criar. A tela criada pelo cliente OAuth será exibida, mostrando o novo ID e a chave secreta do cliente.
  9. Clique em OK. A credencial recém-criada aparece em "IDs do cliente OAuth 2.0".

App do Chrome

  1. No console do Google Cloud, acesse Menu > APIs e Serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais > ID do cliente OAuth.
  3. Clique em Tipo de aplicativo > App do Chrome.
  4. No campo "Nome", digite um nome para a credencial. Esse nome só é mostrado no console do Google Cloud.
  5. No campo "ID do aplicativo", digite a string de ID exclusiva de 32 caracteres do seu aplicativo. Esse valor pode ser encontrado no URL da Chrome Web Store do seu app e no Painel de controle do desenvolvedor da Chrome Web Store.
  6. Clique em Criar. A tela criada pelo cliente OAuth será exibida, mostrando o novo ID e a chave secreta do cliente.
  7. Clique em OK. A credencial recém-criada aparece em "IDs do cliente OAuth 2.0".

App para computador

  1. No console do Google Cloud, acesse Menu > APIs e Serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais > ID do cliente OAuth.
  3. Clique em Tipo de aplicativo > App para computador.
  4. No campo Nome, digite um nome para a credencial. Esse nome só é mostrado no console do Google Cloud.
  5. Clique em Criar. A tela criada pelo cliente OAuth será exibida, mostrando o novo ID e a chave secreta do cliente.
  6. Clique em OK. A credencial recém-criada aparece em IDs do cliente OAuth 2.0.

TVs e Dispositivos de entrada limitada

  1. No console do Google Cloud, acesse Menu > APIs e Serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais > ID do cliente OAuth.
  3. Clique em Tipo de aplicativo > TVs e Dispositivos de entrada limitada.
  4. No campo "Nome", digite um nome para a credencial. Esse nome só é mostrado no console do Google Cloud.
  5. Clique em Criar. A tela criada pelo cliente OAuth será exibida, mostrando o novo ID e a chave secreta do cliente.
  6. Clique em OK. A credencial recém-criada aparece em "IDs do cliente OAuth 2.0".

Plataforma Universal do Windows (UWP)

  1. No console do Google Cloud, acesse Menu > APIs e Serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais > ID do cliente OAuth.
  3. Clique em Tipo de aplicativo > Plataforma Universal do Windows (UWP).
  4. No campo "Nome", digite um nome para a credencial. Esse nome só é mostrado no console do Google Cloud.
  5. Em "ID da loja" , insira o valor exclusivo do ID da Microsoft Store de 12 caracteres para seu aplicativo. Encontre esse ID no URL da Microsoft Store do seu app e na Central de parceiros.
  6. Clique em Criar. A tela criada pelo cliente OAuth será exibida, mostrando o novo ID e a chave secreta do cliente.
  7. Clique em OK. A credencial recém-criada aparece em "IDs do cliente OAuth 2.0".

Baixe o arquivo JSON da chave secreta do cliente

O arquivo de chave secreta do cliente é uma representação JSON do ID do cliente OAuth credenciais que o app pode mencionar ao fornecer credenciais.

  1. No console do Google Cloud, acesse o menu > APIs e Serviços > Credenciais.

    Ir para Credenciais

  2. Em IDs do cliente OAuth 2.0, clique no ID do cliente que você criou.

  3. Clique em Fazer o download do JSON.

  4. Salve o arquivo como client_secrets.json.

criar e assinar um tópico do Pub/Sub;

Nesta seção, você vai criar um tópico e uma assinatura do Pub/Sub ao tópico. Seu tópico do Pub/Sub serve como endpoint de notificação em que sua assinatura do Google Workspace recebe eventos.

Para saber mais sobre como criar e gerenciar tópicos do Pub/Sub, consulte a API Pub/Sub documentação do Google.

Para criar e se inscrever em um tópico do Pub/Sub:

Console do Google Cloud

  1. No console do Google Cloud, acesse a página do Pub/Sub:

    Acessar o Google Cloud Pub/Sub

    Verifique se o projeto do Cloud para seu app está selecionado.

  2. Clique em Criar tópico e faça o seguinte:

    1. Insira um nome para o tópico, como workspace-events-topic.
    2. Deixe a opção Adicionar uma assinatura padrão selecionada. O Pub/Sub dá esse nome padrão similar ao nome do tópico, como workspace-events-topic-sub:
    3. Opcional: atualizar ou configurar outras propriedades para seu tópico.
  3. Clique em Criar. O nome completo do seu tópico está formatado como projects/PROJECT_ID/topics/TOPIC_ID: Você usará esse nome completo em uma etapa posterior.

  4. Conceda acesso para publicar mensagens do Pub/Sub no seu tópico:

    1. Na página do seu tópico, acesse o painel lateral e abra o Guia Permissões.
    2. Clique em Adicionar principal.
    3. No campo Adicionar participantes, adicione a conta de serviço do aplicativo do Google Workspace que envia eventos para assinatura:
      1. Para eventos do Chat, chat-api-push@system.gserviceaccount.com:
      2. Nos eventos do Meet, meet-api-event-push@system.gserviceaccount.com:
    4. No menu Atribuir funções, selecione Pub/Sub Publisher.
    5. Clique em Salvar. A atualização das permissões pode levar alguns minutos para seu tópico.

gcloud

  1. No projeto do Cloud, execute o comando a seguir para criar um tópico comando:

    gcloud pubsub topics create TOPIC_ID
    

    Substitua TOPIC_ID por um ID exclusivo para o tópico, como como workspace-events-topic.

    A saída mostra o nome completo do tópico, formatado como projects/PROJECT_ID/topics/TOPIC_ID: Anote o nome e confirme se o valor PROJECT_ID é o ID do projeto do Cloud. para seu app. Você usará o nome do tópico na etapa a seguir e para criar a assinatura do Google Workspace depois.

  2. Conceda acesso para publicar mensagens no seu tópico:

    gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'
    

    Substitua:

    • TOPIC_NAME: o nome completo do tópico, que é o da etapa anterior. Formatado como projects/PROJECT_ID/topics/TOPIC_ID:
    • GOOGLE_WORKSPACE_APPLICATION: o aplicativo do Google Workspace que precisa entregar eventos para sua assinatura:

      • Para receber eventos do Chat, use chat-api-push@system.gserviceaccount.com:
      • Para receber eventos do Meet, use meet-api-event-push@system.gserviceaccount.com:

    A atualização das permissões do tópico pode levar alguns minutos.

  3. Crie uma assinatura do Pub/Sub para o tópico:

     gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
    

    Substitua:

    • SUBSCRIPTION_NAME: um nome para sua assinatura. como workspace-events-subscription.
    • TOPIC_NAME: o nome do tópico que você criou na etapa anterior.

Inscrever-se em um recurso do Google Workspace

Nesta seção, você vai se inscrever no recurso do Google Workspace que que você quer monitorar.

Escolha e identifique o recurso de destino

Em uma assinatura do Google Workspace, o recurso de destino é o recurso do Google Workspace que você monitora para eventos. O objetivo recurso é representado no campo targetResource da assinatura, formatado usando o nome completo do recurso. Por exemplo, para uma assinatura que monitora um Espaço do Google Chat (spaces/AAAABBBBBBB), o valor de targetResource é //chat.googleapis.com/spaces/AAAABBBBBBB

Antes de criar a assinatura, use as seções a seguir para saber como identificar e formatar o recurso de destino.

Identificar um recurso de destino para o Chat

Recurso de destino Formato Limitações
Espaço

//chat.googleapis.com/spaces/SPACE

em que SPACE é o ID na Nome do recurso do recurso space da API Chat. Para encontrar o ID, acesse o URL do espaço ou use o spaces.list().

O usuário do Chat que autorizar a inscrição precisa participar do espaço usando as credenciais do Google Workspace Conta.
Todos os espaços de um usuário

//chat.googleapis.com/spaces/-

A assinatura só recebe eventos dos espaços em que o usuário um membro usando a Conta do Google ou do Google Workspace.
Usuário

//cloudidentity.googleapis.com/users/USER

em que USER é o ID na Nome do recurso do recurso user da API Chat. Para mais detalhes, consulte Identificar e especificar usuários do Google Chat.

A assinatura só recebe eventos sobre o usuário que autorizou a assinatura. Um usuário não consegue autorizar uma assinatura no em nome de outros usuários.

Identificar um recurso de destino para o Meet

Recurso de destino Formato Limitações (se aplicável)
Espaço para reuniões //meet.googleapis.com/spaces/SPACE

em que SPACE é o ID na Nome do recurso do recurso space da API REST do Meet. Para mais detalhes, consulte Como O Meet identifica um espaço para reuniões.

Usuário //cloudidentity.googleapis.com/users/USER

em que USER é o ID na signedinUser.user do recurso participant da API REST do Meet. Para mais detalhes, consulte Trabalhar com os participantes.

A assinatura recebe eventos sobre espaços para reuniões em que usuário é um dos seguintes:

  • O proprietário do espaço para reuniões.
  • O organizador do evento do Google Agenda associado ao espaço da reunião.

Criar uma assinatura do Google Workspace

Para criar uma assinatura, use a API Google Workspace Events subscriptions.create() para criar um Subscription recurso. Você especifica os seguintes campos:

  • targetResource: um Google Workspace que você identificou na seção anterior, formatada usando o nome completo do recurso.
  • eventTypes: uma matriz de um ou mais tipos de evento sobre os quais você quer receber o recurso. Por exemplo, se o app só precisa saber sobre novas mensagens for postado em um espaço do Chat, o app poderá apenas se inscrever em eventos sobre as mensagens criadas.
  • notificationEndpoint: um endpoint de notificação em que seu A assinatura do Google Workspace oferece eventos. Você usa o do Pub/Sub que você criou na seção anterior.
  • payloadOptions: opções para especificar quantos dados de recursos serão incluídos. o payload do evento. Essa configuração afeta o prazo de validade assinatura. Para saber mais, consulte Eventos dados.

Para criar uma assinatura do Google Workspace:

Apps Script

  1. No seu projeto do Apps Script, crie um novo arquivo de script chamado createSubscription e adicione o seguinte código:

    function createSubscription() {
      // The Google Workspace resource to monitor for events.
      const targetResource = 'TARGET_RESOURCE';
    
      // The types of events to receive.
      const eventTypes = [EVENT_TYPES];
    
      // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
      const pubsubTopic = 'TOPIC_NAME';
    
      // Whether to include resource data or not.
      const resourceData = RESOURCE_DATA;
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.create({
        targetResource: targetResource,
        eventTypes: eventTypes,
        notificationEndpoint: {
          pubsubTopic: pubsubTopic,
        },
        payloadOptions: {
          includeResource: resourceData
        }
      });
      console.log(response);
    }
    

    Substitua:

    • TARGET_RESOURCE: o recurso do Google Workspace que você está assinando, formatado como o nome completo do recurso. Para exemplo, para se inscrever em um espaço do Google Chat com o ID AAAABBBB, use //chat.googleapis.com/spaces/AAAABBBB.
    • EVENT_TYPES: um ou mais tipos de evento em que você quer se inscrever no recurso de destino. Formatar como um matriz de strings, como 'google.workspace.chat.message.v1.created'.
    • TOPIC_NAME: o nome completo do tópico do Pub/Sub que que você criou no projeto do Cloud. Formatado como projects/PROJECT_ID/topics/TOPIC_ID:
    • RESOURCE_DATA: um booleano que especifica se o A assinatura inclui dados de recursos no payload:

      • True: inclui todos os dados de recursos. Para limitar quais campos são incluído, adicione o fieldMask e especifique pelo menos um campo para o recurso alterado. Somente inscrições no suporte aos recursos do Chat, como dados de recursos.
      • False: exclui dados de recursos.
  2. Para criar a assinatura do Google Workspace, execute a função createSubscription no seu projeto do Apps Script.

Python

  1. No diretório de trabalho, crie um arquivo chamado create_subscription.py e adicione o seguinte código:

    """Create subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = [SCOPES]
    
    # Authenticate with Google Workspace and get user authentication.
    flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES)
    CREDENTIALS = flow.run_local_server()
    
    # The Google Workspace resource to monitor for events.
    TARGET_RESOURCE = 'TARGET_RESOURCE'
    
    # The types of events to receive.
    EVENT_TYPES = [EVENT_TYPES]
    
    # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
    TOPIC = 'TOPIC_NAME'
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    BODY = {
        'target_resource': TARGET_RESOURCE,
        'event_types': EVENT_TYPES,
        'notification_endpoint': {'pubsub_topic': TOPIC},
        'payload_options': {'include_resource': RESOURCE_DATA},
    }
    response = service.subscriptions().create(body=BODY).execute()
    print(response)
    

    Substitua:

    • SCOPES: um ou mais escopos do OAuth compatíveis com cada tipo de evento. para a assinatura. Formatado como uma matriz de strings. Para listar vários escopos, separe por vírgulas. Por exemplo, 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.
    • TARGET_RESOURCE: o recurso do Google Workspace que você está assinando, formatado como o nome completo do recurso. Para exemplo, para se inscrever em um espaço do Google Chat com o ID AAAABBBB, use //chat.googleapis.com/spaces/AAAABBBB.
    • EVENT_TYPES: um ou mais tipos de evento em que você quer se inscrever no recurso de destino. Formatar como um matriz de strings, como 'google.workspace.chat.message.v1.created'.
    • TOPIC_NAME: o nome completo do tópico do Pub/Sub que que você criou no projeto do Cloud. Formatado como projects/PROJECT_ID/topics/TOPIC_ID:
    • RESOURCE_DATA: um booleano que especifica se o A assinatura inclui dados de recursos no payload:

      • True: inclui todos os dados de recursos. Para limitar quais campos são incluído, adicione o fieldMask e especifique pelo menos um campo para o recurso alterado. Somente inscrições no suporte aos recursos do Chat, como dados de recursos.
      • False: exclui dados de recursos.
  2. Para criar a assinatura do Google Workspace, execute o seguinte em seu terminal:

    python3 create_subscription.py
    

A API Google Workspace Events retorna um conjunto de instruções de longa duração operação que contém a instância do recurso Subscription que você criou.

Testar sua assinatura do Google Workspace

Para testar se você está recebendo eventos do Google Workspace, acione uma e mensagens pull para a assinatura do Pub/Sub.

Para testar sua assinatura do Google Workspace, faça o seguinte:

Console do Google Cloud

  1. Acione um ou mais tipos de eventos no recurso de destino da assinatura do Google Workspace. Por exemplo, se você assinou novos mensagens em um espaço do Chat, postar uma mensagem no espaço.

  2. No console do Google Cloud, acesse a página do Pub/Sub:

    Ir para o Pub/Sub

    Verifique se o projeto do Cloud para seu app está selecionado.

  3. No menu Pub/Sub, clique em Assinaturas.

  4. Na tabela, encontre a assinatura do Pub/Sub do seu tópico e clique em o nome da assinatura.

  5. Clique na guia Mensagens.

  6. Clique em Pull. Pode levar alguns minutos para que um evento gere uma Mensagem do Pub/Sub.

gcloud

  1. Acione um ou mais tipos de eventos no recurso de destino da assinatura do Google Workspace. Por exemplo, se você assinou novos mensagens em um espaço do Chat, postar uma mensagem no espaço.

  2. Execute este comando:

    gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ack
    

    Substitua:

    • PUBSUB_SUBSCRIPTION_NAME: o nome completo do Assinatura do Pub/Sub, formatada como projects/SUBSCRIPTION_ID/subscriptions/SUBSCRIPTION_ID.
    • MESSAGE_COUNT: o número máximo de mensagens do Pub/Sub que você quer extrair.

    Pode levar alguns minutos para um evento gerar um Pub/Sub mensagem.

Para cada evento do Google Workspace acionado, uma mensagem é entregue à assinatura do Pub/Sub que contém o evento. Para mais detalhes, consulte Como receber eventos como mensagens do Google Cloud Pub/Sub.

Configurar como o app recebe eventos

A assinatura do Pub/Sub que você criou é baseada em pull. Depois de testar que sua assinatura do Pub/Sub, é possível atualizar o tipo de entrega para alterar como seu app recebe eventos. Por exemplo, é possível configurar o Pub/Sub assinatura de um tipo de entrega por push, para que o aplicativo possa receber eventos diretamente a um endpoint de app.

Para saber como configurar uma assinatura do Pub/Sub, consulte esta página Documentação.