Esta página explica como conseguir detalhes sobre uma assinatura do Google Workspace usando o método
subscriptions.get()
.
Quando você chama esse método com autenticação do usuário, ele retorna detalhes sobre uma assinatura autorizada pelo usuário. Quando você usa a autenticação do app, o método pode retornar detalhes sobre qualquer assinatura do app.
Pré-requisitos
Apps Script
- Uma assinatura do Google Workspace. Para criar uma, consulte Criar uma assinatura.
Exige autenticação do usuário com um ou mais escopos que oferecem suporte a todos os tipos de eventos da assinatura.
- Um projeto do Apps Script:
- Use seu projeto do Google Cloud em vez do padrão criado automaticamente pelo Apps Script.
- Para todos os escopos adicionados ao configurar a tela de permissão OAuth, você também precisa adicionar os
escopos ao arquivo
appsscript.json
no seu projeto do Apps Script. Por exemplo, se você especificou o escopochat.messages
, adicione o seguinte: - Ative
o serviço avançado do
Google Workspace Events
.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Python
- Python 3.6 ou mais recente
- A ferramenta de gerenciamento de pacotes pip
- As bibliotecas de cliente mais recentes do Google para Python. Para instalar ou atualizar, execute o seguinte comando na interface de linha de comando:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Uma assinatura do Google Workspace. Para criar uma, consulte Criar uma assinatura.
Requer autenticação:
- Para autenticação do usuário, exige um escopo que ofereça suporte a pelo menos um dos tipos de evento da assinatura. Para identificar um escopo, consulte Escopos por tipo de evento.
- Para autenticação de apps, requer o escopo
chat.bot
(somente apps do Google Chat).
Receber uma assinatura autorizada por um usuário
O exemplo de código a seguir recebe detalhes sobre um
recurso Subscription
usando a autenticação do usuário. Quando autenticado como um usuário, o método retorna uma
assinatura que o usuário autorizou o app a criar.
Para receber uma assinatura autorizada por um usuário:
Apps Script
No projeto do Apps Script, crie um arquivo de script chamado
getSubscription
e adicione o seguinte código:function getSubscription() { // The name of the subscription to get. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const subscription = WorkspaceEvents.Subscriptions.get(name); console.log(subscription); }
Substitua:
Para receber a assinatura, execute a função
getSubscription
no projeto do Apps Script.
Python
No diretório de trabalho, crie um arquivo chamado
get_subscription.py
e adicione o seguinte código:"""Get subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = ['SCOPE'] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) CREDENTIALS = flow.run_local_server() # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) NAME = 'subscriptions/SUBSCRIPTION_ID' subscription = service.subscriptions().get(name=NAME).execute() print(subscription)
Substitua:
SCOPE
: um escopo do OAuth que aceita pelo menos um tipo de evento da assinatura. Por exemplo, se a assinatura receber eventos um espaço atualizado do Chat,https://www.googleapis.com/auth/chat.spaces.readonly
.SUBSCRIPTION_ID
: o ID da assinatura. Para conseguir o ID, use uma destas opções:
No seu diretório de trabalho, verifique se você armazenou as credenciais de ID do cliente OAuth e nomeou o arquivo como
credentials.json
. O exemplo de código usa esse arquivo JSON para autenticar com o Google Workspace e receber credenciais de usuário. Para instruções, consulte Criar credenciais de ID do cliente OAuth.Para receber a assinatura, execute o seguinte no terminal:
python3 get_subscription.py