Google Apps Script - Configuración en Codespaces
Published: 2024-03-01 13:19:43

---
title: Google Apps Script - Configuración en Codespaces
published: true
description: Un Flujo de trabajo para optimizar los Script desarrollados mediante Google Apps Script.
tags: 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-11-14 03:46 +0000
---

# Como usar Google Apps Script en Codespaces

Te presento esta plantilla de Github-Codespaces para que modifiques tus proyectos de Google Apps Script mediante Clasp

https://github.com/Macorreag/clasp-template/tree/main


## Configuracion de Clasp en Codespaces


Primero debe logearse en una maquina Linux con el siguiente comando

```
clasp login
```
Esto genera un archivo `.clasprc.json` en la carpeta ./home/name_user/ en sistemas Linux


Default credentials saved to: ~/.clasprc.json (/home/[USER]/.clasprc.json).

Luego debe copiar las credenciales en la ventana de codespaces.


Despues Copie las credenciales al espacio de trabajo hacia la carpeta de usuario del entorno de Codespaces
```
cp codespaces-blank/.clasprc.json ../../home/codespace/
```
Una ves realizado esto Clasp utilizará este archivo con el token que contiene para acceder a los archivos de Google Apps Script

## Usar multiples archivos de configuración para las credenciales

Github Codespaces permite usar un repositorio de `.dotfiles` en el cual puedes establecer las credenciales en los archivos .clasprc.json en la ruta `~/` es decir en el directorio raiz. Estos archivos definen las credenciales y cuentas utilizadas para el acceso a los script. Para manejar multiples cuentas puedes crear multiples archivos asi:

- clasprc-work.json
- clasprc-personal.json

Y finalmente para definir cual usar puedes usar un _soft link_ de Linux forzado para sobreescribir, que apunte a cada uno de los archivos según desees usar:

```
ln -f -s {source-filename} {symbolic-filename}
ln -f -s ~/.clasprc-personal.json ~/.clasprc.json
```

Puede chequear que el cambio funciona correctamente con:

```
$ clasp  login --status
> You are logged in as personal@gmail.com
```

Clone el Script que necesita mediante

```
clasp clone "15ImUC************************6qiC" --rootDir .
```


## habilitar Google Apps Script

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vgajx6x97ctrbbf3jfsh.png)

if errror:
User has not enabled the Apps Script API. Enable it by visiting https://script.google.com/home/usersettings then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.






NO OLVIDE APAGAR SU MAQUINA DE CODESPACEES

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iao061ve0btpgudxw8kv.png)

In VS Code: open the Visual Studio Code Command Palette - for example, by pressing Ctrl+Shift+Enter(Windows/Linux) or Shift+Command+P (Mac) - type Codespaces: stop then press Enter.
In the JetBrains client, click the stop button at the top of the GitHub Codespaces tool window. For more information, see the "JetBrains IDEs" tab of "Stopping and starting a codespace."
In a terminal window: use the GitHub CLI command gh codespace stop. For more information, see "Using GitHub Codespaces with GitHub CLI." If you exit your codespace without running the stop command (for example, by closing the browser tab), or if you leave the codespace running without interaction, the codespace and its running processes will continue for the duration of the inactivity timeout period.

El enlace para acceder a tus proyectos es:

https://script.google.com/u/1/home/start

La cuenta esta definida por el numero, ahi podras ver los proyectos que tienes actualmente en Google Apps Script.




## Configuracion para correr el comando RUN
https://github.com/google/clasp/blob/master/docs/run.md
















El contenedor monta en la carpeta superior un proyecto de Node, e internamente coloca los archivos de Google Apps Script

[Luego cambia la carpeta donde inicia el contenedor mediante la propieddad de Devcontainers.](https://www.youtube.com/watch?v=o5coAL7oE0o&ab_channel=VisualStudioCode)