google-apps-script - scripts - javascript google apps script
¿Cómo uso momentosJs en Google Apps Script? (3)
Estoy tratando de utilizar la biblioteca de momentos en Google Apps Script, pero no tengo claro cómo hacerlo. No estoy seguro de cómo agregar la biblioteca, por lo que obviamente ejecuta algo así como los siguientes resultados en "Error de referencia: ''momento'' no está definido":
var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
var difference = a.diff(b);
Creé una versión actualizada de momento para Appscript (v2.19.3 con configuraciones regionales). Esta es la biblioteca: Mlj57Yi463PVmHumHxq4bkaUlUqvRc4KT Para comenzar a usarlo, agregue la biblioteca y luego convierta el momento en una variable global como se muestra a continuación.
var moment = Moment.moment
El uso de la biblioteca JavaScript externa no es tan fácil ... Dependiendo del contexto en el que quiera usarlo (una aplicación web de un script incrustado de documentos), el enfoque será diferente.
No lo probé en JavaScript del cliente y no estoy seguro de que caja lo permita, pero encontré esta publicación que muestra una posible forma de incluirla usando una biblioteca de Google Script que un usuario tiene compilada y si leo la publicación parece trabajar...
El "usuario" es un desarrollador de Google, por lo que sabe con certeza de qué está hablando;) actualice aquí si le resultó útil.
La mayoría de las personas intenta usar la biblioteca con la clave que termina en 48. Esa biblioteca está bastante anticuada (es la versión 2.9, que es bastante antigua).
El uso de eval
y UrlFetchApp.fetch
moment.js o cualquier otra biblioteca externa se puede usar fácilmente en las secuencias de comandos de la aplicación google.
function testMoment() {
eval(UrlFetchApp.fetch(''https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js'').getContentText());
var date = moment().format("MMM Do YY");
Logger.log(date)
}
Puede alojar el momento.js en su propio servidor o usar un CDN como cloudflare CDN para hacer referencia a la biblioteca.
Para cloudflare, aquí está la página que muestra las versiones de moment.js y sus URL:
Al escribir esta publicación, 2.18.1 es la última versión.
Para el ejemplo publicado por OP, se verá así:
function testMomentDifference() {
eval(UrlFetchApp.fetch(''https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js'').getContentText());
var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
var difference = a.diff(b);
Logger.log(difference);
}