Nesta página, explicamos como renovar uma assinatura do Google Workspace usando o
método
subscriptions.update()
. Você pode usar esse método para atualizar o prazo de validade de uma assinatura,
incluindo a renovação do prazo de validade máximo possível.
Apps Script
- Uma assinatura do Google Workspace. Para criar uma, consulte Criar uma assinatura.
Requer autenticação do usuário com um ou mais escopos compatíveis com todos os tipos de evento da assinatura.
- Um projeto do Apps Script:
- Use seu projeto do Google Cloud em vez do projeto padrão criado automaticamente pelo Apps Script.
- Para todos os escopos adicionados para configurar a tela de permissão OAuth, é preciso adicioná-los ao arquivo
appsscript.json
no seu projeto do Apps Script. Exemplo:
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
- Ative
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 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 do usuário com um ou mais escopos compatíveis com todos os tipos de evento da assinatura.
Renovar uma assinatura do Google Workspace
Nesta seção, você usa o método subscriptions.update()
da API Google Workspace Events
para renovar uma assinatura até o prazo de validade
máximo. Para especificar o prazo de validade máximo, atualize o campo ttl
do recurso
Subscription
para 0
.
O prazo de validade máximo depende dos dados de recursos incluídos no payload do evento. Saiba mais sobre os prazos de validade em Dados de eventos para eventos do Google Workspace.
Para renovar uma assinatura do Google Workspace, faça o seguinte:
Apps Script
No projeto do Apps Script, crie um novo arquivo de script chamado
updateSubscription
e adicione o seguinte código:function updateSubscription() { // The name of the subscription to update. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.patch({ ttl: '0s', }, name); console.log(response); }
Substitua:
Para atualizar a assinatura do Google Workspace, execute a função
updateSubscription
no seu projeto do Apps Script.
Python
No diretório de trabalho, crie um arquivo chamado
update_subscription.py
e adicione o seguinte código:"""Update 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() # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'ttl': {'seconds': 0}, } NAME = 'subscriptions/SUBSCRIPTION_ID' response = ( service.subscriptions() .patch(name=NAME, updateMask='ttl', 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-os por vírgulas. Por exemplo,'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
.SUBSCRIPTION_ID
: o ID da assinatura. Para conseguir o ID, use uma destas opções:
No diretório de trabalho, verifique se você armazenou as credenciais do ID do cliente OAuth e nomeou o arquivo como
client_secrets.json
. O exemplo de código usa esse arquivo JSON para se autenticar no Google Workspace e receber credenciais de usuário. Para instruções, consulte Criar credenciais de ID do cliente OAuth.Para atualizar a assinatura do Google Workspace, execute o seguinte no seu terminal:
python3 update_subscription.py
Subscription
.
Para conferir detalhes sobre o recurso Subscription
atualizado, use o
método operations.get()
e especifique o recurso Operation
retornado da solicitação
subscriptions.update()
. Caso contrário, se você especificar um recurso Operation
de uma versão
anterior da assinatura, a resposta será vazia.