Compartilhar via


Autenticação com serviços Google

Se o seu script utilizar serviços Google, como o Google Drive, Folhas e Correio, tem de obter credenciais. Existem algumas opções para obter as credenciais:

  • Opção 1 – fácil de seguir e demora menos tempo, mas tem de repeti-la a cada hora quando o token de acesso expirar.
  • Opção 2 – um pouco mais complicado, mas só precisa de o repetir se o token de atualização se tornar inválido.
  • Opção 3 — Também um pouco mais complicado (utiliza o script do PowerShell fornecido), mas só precisa de o repetir se o token de atualização se tornar inválido.

Opção 1 – Obter um token de acesso a partir do Parque Infantil OAuth da Google

  1. Aceda ao Parque Infantil OAuth do Google
  2. Em Introduzir os seus próprios âmbitos, cole https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/gmail.send
  3. Selecione Autorizar APIs
  4. Depois de as APIs serem autorizadas, selecione Código de autorização do Exchange para tokens
  5. Copiar o valor do access_token da resposta
  6. Em soluções como Detetar anúncios desaprovados, que acedem aos serviços google, defina o campo do accessToken objeto de credenciais para o token de acesso copiado no passo 5.

Nota

Uma vez que o token de acesso expira dentro de 1 hora, terá de repetir estes passos a cada hora.

Opção 2 – Obter um token de atualização do Parque Infantil OAuth da Google

  1. Aceda ao dashboard da API da consola de programador do Google
  2. Selecione Criar um projeto para criar um novo projeto ou selecione um projeto existente
    1. Se criar um novo projeto, introduza o nome do projeto em Nome do Projeto. Por exemplo, Scripts.
    2. Selecione Criar
  3. No Dashboard, selecione ATIVAR APIS E SERVIÇOS
  4. Na caixa de pesquisa, introduza folhas e selecione API do Google Sheets. Em seguida, selecione ATIVAR
  5. Voltar ao dashboard (selecione APIs & Services) e repita os passos 3 e 4 para a API do Google Drive
  6. Voltar ao dashboard (selecione APIs & Services) e repita os passos 3 e 4 para a API do Gmail
  7. No Dashboard, selecione Credenciais no painel de navegação esquerdo e, em seguida, selecione CONFIGURAR ECRÃ DE CONSENTIMENTO. Se lhe for pedido para selecionar um Tipo de Utilizador, selecione Externo e, em seguida, selecione Criar
  8. Introduza o nome da sua aplicação no campo Nome da aplicação (por exemplo, Cliente scripts) e introduza o seu e-mail nos campos que a pedem e, em seguida, selecione GUARDAR E CONTINUAR
  9. Selecione ADICIONAR OU REMOVER ÂMBITOS, selecione .. /auth/drive e .. /auth/gmail.send e, em seguida, selecione Atualizar
  10. Selecione GUARDAR E CONTINUAR
  11. Selecione ADICIONAR UTILIZADORES, introduza o seu e-mail do Google e selecione ADICIONAR
  12. No Dashboard, selecione Credenciais no painel de navegação esquerdo e, em seguida, selecione Criar credenciais e selecione ID de cliente Oauth
  13. Selecione Tipo de aplicação Web . Em seguida, introduza um nome como Aplicação Web Scripts no campo Nome . Em seguida, adicione https://developers.google.com/oauthplayground aos URIs de redirecionamento autorizados. Por fim, selecione Criar
  14. Copie o ID de cliente e o segredo do cliente para utilizar nos passos 18, 19 e 24 e, em seguida, selecione OK
  15. Aceda ao Parque Infantil OAuth do Google
  16. Selecione o ícone configuração OAuth 2.0 (parece uma engrenagem no canto superior direito)
  17. Selecione a caixa Utilizar as suas próprias credenciais OAuth
  18. Colar o ID de cliente no ID de Cliente OAuth
  19. Colar o segredo do cliente no segredo do Cliente OAuth
  20. Em Introduzir os seus próprios âmbitos, cole https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/gmail.send
  21. Selecione Autorizar APIs e siga as instruções para dar consentimento

Nota

Ao autorizar APIs no recreio, se vir uma caixa de diálogo a indicar "Esta aplicação não está verificada", selecione Avançadas e, em seguida, Aceda a [nome da aplicação] (não seguro).

  1. Depois de as APIs serem autorizadas, selecione Código de autorização do Exchange para tokens
  2. Copiar o token do token atualizar para utilizar no passo 24
  3. Em soluções como Detetar anúncios não aprovados, que acedem aos serviços google, defina os campos , clientSecrete e refreshToken do clientIdobjeto de credenciais para os valores que recebeu nos passos 13 e 22.

Opção 3 – Obter um token de atualização com um script do PowerShell

  1. Aceda ao dashboard da API da consola de programador do Google
  2. Selecione Criar um projeto para criar um novo projeto ou selecione um projeto existente
    1. Se criar um novo projeto, introduza o nome do projeto em Nome do Projeto. Por exemplo, Scripts.
    2. Selecione Criar
  3. No Dashboard, selecione ATIVAR APIS E SERVIÇOS
  4. Na caixa de pesquisa, introduza folhas e selecione API do Google Sheets. Em seguida, selecione ATIVAR
  5. Voltar ao dashboard (selecione APIs & Services) e repita os passos 3 e 4 para a API do Google Drive
  6. Voltar ao dashboard (selecione APIs & Services) e repita os passos 3 e 4 para a API do Gmail
  7. No Dashboard, selecione Credenciais no painel de navegação esquerdo e, em seguida, selecione CONFIGURAR ECRÃ DE CONSENTIMENTO. Se lhe for pedido para selecionar um Tipo de Utilizador, selecione Externo e, em seguida, selecione Criar
  8. Introduza o nome da sua aplicação no campo Nome da aplicação (por exemplo, Cliente scripts) e introduza o seu e-mail nos campos que a pedem e, em seguida, selecione GUARDAR E CONTINUAR
  9. Selecione ADICIONAR OU REMOVER ÂMBITOS, selecione .. /auth/drive e .. /auth/gmail.send e, em seguida, selecione Atualizar
  10. Selecione GUARDAR E CONTINUAR
  11. Selecione ADICIONAR UTILIZADORES, introduza o seu e-mail do Google e selecione ADICIONAR
  12. No Dashboard, selecione Credenciais no painel de navegação esquerdo e, em seguida, selecione Criar credenciais e selecione ID de cliente Oauth
  13. Selecione Tipo de aplicação de ambiente de trabalho, introduza um nome (por exemplo, Credenciais de cliente scripts) e selecione Criar
  14. Copie o ID de cliente e o segredo do cliente para utilizar nos passos 15 e 16 e, em seguida, selecione OK
  15. Crie um script do PowerShell para obter o consentimento do utilizador e um token de atualização.

Obter um token de acesso requer o consentimento do utilizador, a menos que tenha um token de atualização. No entanto, como os Scripts não suportam componentes de IU, terá de obter consentimento de outra forma. Este PowerShell fornece uma opção para obter consentimento e um token de atualização.

Abra o Bloco de Notas ou o seu editor favorito e copie o script do PowerShell para o editor. Defina $clientId e $clientSecret para o ID de cliente e segredo que recebeu quando registou a sua aplicação (consulte o passo 13).

$clientId = "your-client-id"
$clientSecret = "your-client-secret"

$scopes = "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/gmail.send"

Start-Process "https://accounts.google.com/o/oauth2/v2/auth?client_id=$clientId&scope=$([string]::Join("%20", $scopes))&access_type=offline&response_type=code&redirect_uri=urn:ietf:wg:oauth:2.0:oob"    
 
$code = Read-Host "Please enter the code"
   
$response = Invoke-WebRequest https://www.googleapis.com/oauth2/v4/token -ContentType application/x-www-form-urlencoded -Method POST -Body "client_id=$clientid&client_secret=$clientSecret&redirect_uri=urn:ietf:wg:oauth:2.0:oob&code=$code&grant_type=authorization_code"
  
Write-Output "Refresh token: " ($response.Content | ConvertFrom-Json).refresh_token 

Guarde o ficheiro e dê-lhe o nome GetTokens.ps1 (pode atribuir-lhe o nome que quiser, mas a extensão tem de ser .ps1).

Agora, abra uma janela da consola. Para abrir uma janela de consola no Microsoft Windows, introduza o seguinte comando Executar do Windows (<botão> do Windows+r):

cmd.exe

Na linha de comandos, navegue para a pasta onde guardou GetTokens.ps1 e introduza o seguinte comando:

powershell.exe -File .\GetTokens.ps1

Quando o script do PowerShell é executado com êxito, inicia uma sessão do browser onde introduz as suas credenciais do Google. Após o consentimento, a página Web contém o código de concessão (consulte Copiar este código...).

Copie o código de concessão e introduza-o na janela da consola na linha de comandos. Em seguida, o script do PowerShell devolve um token de atualização. Copie o token de atualização. Deve tratar o token de atualização como se fosse uma palavra-passe; Se alguém conseguir, terá acesso aos seus recursos.

  1. Em soluções como Detetar anúncios desaprovados, que acedem aos serviços google, defina os campos , clientSecrete do refreshToken objeto clientIdde credenciais para os valores que recebeu nos passos 13 e 14.