Autenticarse con los servicios de Google

Si su script usa servicios de Google, como Google Drive, Hojas de cálculo y Correo, debe obtener las credenciales. Hay varias opciones para obtener las credenciales:

  • Opción 1 : fácil de seguir y lleva menos tiempo, pero debe repetirlo cada hora cuando expire el token de acceso.
  • Opción 2 : un poco más complicado, pero solo necesita repetirlo si el token de actualización se vuelve inválido.
  • Opción 3 : también un poco más complicado (usa el script de PowerShell proporcionado), pero solo necesita repetirlo si el token de actualización deja de ser válido.

Opción 1: Obtener un token de acceso del área de juegos de Google OAuth

  1. Ir al área de juegos de Google OAuth
  2. En Entrada de sus propios ámbitos, pegue https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/gmail.send
  3. Seleccione Autorizar API
  4. Una vez autorizadas las API, seleccione Exchange authorization code for tokens
  5. Copiar el valor del access_token de la respuesta
  6. En soluciones como Descubrir anuncios no aprobados, que acceden a los servicios de Google, establece el campo del objeto de accessToken credenciales en el token de acceso copiado en el paso 5.

Nota:

Dado que el token de acceso expira en 1 hora, tendrá que repetir estos pasos cada hora.

Opción 2: Obtener un token de actualización del área de juegos de Google OAuth

  1. Ir al panel de API de Google Developer Console
  2. Seleccione Crear un proyecto para crear un nuevo proyecto o seleccionar un proyecto existente
    1. Si crea un nuevo proyecto, escriba el nombre del proyecto en Nombre del proyecto. Por ejemplo, scripts.
    2. Seleccione Crear
  3. En el panel, seleccione HABILITAR API Y SERVICIOS
  4. En el cuadro de búsqueda, ingresa hojas de cálculo y selecciona la API de Hojas de cálculo de Google. Después, seleccione HABILITAR
  5. Volver al panel (selecciona API & servicios) y repite los pasos 3 y 4 para la API de Google Drive
  6. Volver al panel (selecciona API & servicios) y repite los pasos 3 y 4 para la API de Gmail
  7. En el panel, seleccione Credenciales en el panel de navegación izquierdo y, a continuación, seleccione CONFIGURAR LA PANTALLA DE CONSENTIMIENTO. Si se le pide que seleccione un tipo de usuario, seleccione Externo y, a continuación, seleccione Crear
  8. Escriba el nombre de la aplicación en el campo Nombre de la aplicación (por ejemplo, Cliente de scripts) e introduzca el correo electrónico en los campos que lo soliciten. A continuación, seleccione GUARDAR Y CONTINUAR
  9. Seleccione AGREGAR O QUITAR ÁMBITOS, SELECCIONE .. /auth/drive y .. /auth/gmail.send y, a continuación, seleccione Actualizar
  10. Seleccione GUARDAR Y CONTINUAR
  11. Seleccione AGREGAR USUARIOS, ingrese su correo electrónico de Google y seleccione AGREGAR
  12. En el panel, seleccione Credenciales en el panel de navegación izquierdo, luego seleccione Crear credenciales y seleccione Id. de cliente de OAuth
  13. Seleccione el tipo de aplicación web. A continuación, escriba un nombre, como aplicación web Scripts en el campo Nombre . A continuación, agregue https://developers.google.com/oauthplayground a URI de redireccionamiento autorizados. Por último, seleccione Crear
  14. Copie el identificador de cliente y el secreto de cliente para usarlos en los pasos 18, 19 y 24 y, a continuación, seleccione Aceptar
  15. Ir al área de juegos de Google OAuth
  16. Seleccione el icono de configuración de OAuth 2.0 (parece un engranaje en la esquina superior derecha)
  17. Active la casilla Usar sus propias credenciales de OAuth
  18. Pegue el identificador de cliente en el identificador de cliente de OAuth
  19. Pegue el secreto de cliente en el secreto de cliente de OAuth
  20. En Entrada de sus propios ámbitos, pegue https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/gmail.send
  21. Seleccione Autorizar API y siga las indicaciones para proporcionar consentimiento

Nota:

Al autorizar API en el área de juegos, si ve un cuadro de diálogo que dice "Esta aplicación no está comprobada", seleccione Avanzadas y, a continuación, Vaya a [nombre de la aplicación] (no seguro).

  1. Una vez autorizadas las API, seleccione Exchange authorization code for tokens
  2. Copie el token de Refresh para usarlo en el paso 24
  3. En soluciones como Detectar anuncios no aprobados, que acceden a servicios de Google, establece el , clientSecrety refreshToken los campos del objeto de clientIdcredenciales en los valores que recibiste en los pasos 13 y 22.

Opción 3: obtener un token de actualización mediante un script de PowerShell

  1. Ir al panel de API de Google Developer Console
  2. Seleccione Crear un proyecto para crear un nuevo proyecto o seleccionar un proyecto existente
    1. Si crea un nuevo proyecto, escriba el nombre del proyecto en Nombre del proyecto. Por ejemplo, scripts.
    2. Seleccione Crear
  3. En el panel, seleccione HABILITAR API Y SERVICIOS
  4. En el cuadro de búsqueda, ingresa hojas de cálculo y selecciona la API de Hojas de cálculo de Google. Después, seleccione HABILITAR
  5. Volver al panel (selecciona API & servicios) y repite los pasos 3 y 4 para la API de Google Drive
  6. Volver al panel (selecciona API & servicios) y repite los pasos 3 y 4 para la API de Gmail
  7. En el panel, seleccione Credenciales en el panel de navegación izquierdo y, a continuación, seleccione CONFIGURAR LA PANTALLA DE CONSENTIMIENTO. Si se le pide que seleccione un tipo de usuario, seleccione Externo y, a continuación, seleccione Crear
  8. Escriba el nombre de la aplicación en el campo Nombre de la aplicación (por ejemplo, Cliente de scripts) e introduzca el correo electrónico en los campos que lo soliciten. A continuación, seleccione GUARDAR Y CONTINUAR
  9. Seleccione AGREGAR O QUITAR ÁMBITOS, SELECCIONE .. /auth/drive y .. /auth/gmail.send y, a continuación, seleccione Actualizar
  10. Seleccione GUARDAR Y CONTINUAR
  11. Seleccione AGREGAR USUARIOS, ingrese su correo electrónico de Google y seleccione AGREGAR
  12. En el panel, seleccione Credenciales en el panel de navegación izquierdo, luego seleccione Crear credenciales y seleccione Id. de cliente de OAuth
  13. Seleccione el tipo de aplicación de aplicación de escritorio , escriba un nombre (por ejemplo, credenciales de cliente de scripts) y seleccione Crear
  14. Copie el identificador de cliente y el secreto de cliente para usarlos en los pasos 15 y 16 y, a continuación, seleccione Aceptar
  15. Cree un script de PowerShell para obtener el consentimiento del usuario y un token de actualización.

La obtención de un token de acceso requiere el consentimiento del usuario, a menos que tenga un token de actualización. Pero como Scripts no admite componentes de interfaz de usuario, deberá obtener el consentimiento de otra manera. Este PowerShell proporciona una opción para obtener el consentimiento y un token de actualización.

Abra el Bloc de notas o su editor favorito y copie el script de PowerShell en el editor. Establezca $clientId "AND $clientSecret " en el identificador y el secreto de cliente que recibió al registrar la aplicación (consulte el paso 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 

Guarda el archivo y asígnale un nombre GetTokens.ps1 (puedes ponerle el nombre que quieras, pero la extensión debe ser .ps1).

Ahora abra una ventana de consola. Para abrir una ventana de consola en Microsoft Windows, escriba el siguiente comando Ejecutar de Windows (<botón> Windows+R):

cmd.exe

En el símbolo del sistema, vaya a la carpeta donde guardó GetTokens.ps1 y escriba el siguiente comando:

powershell.exe -File .\GetTokens.ps1

Cuando el script de PowerShell se ejecuta correctamente, inicia una sesión del explorador en la que introduces tus credenciales de Google. Tras el consentimiento, la página web contiene el código de subvención (consulte Copie este código...).

Copia el código de subvención e introdúcelo en la ventana de la consola cuando se te solicite. Entonces, el script de PowerShell devuelve un token de actualización. Copie el token de actualización. Debe tratar el token de actualización como lo haría con una contraseña; Si alguien lo consigue, tendrá acceso a sus recursos.

  1. En soluciones como Descubrir anuncios no aprobados, que acceden a servicios de Google, establece el , y refreshToken los campos del objeto de clientIdclientSecretcredenciales en los valores que recibiste en los pasos 13 y 14.