0

Je reçois le message d'erreur (ci-dessous) lorsque j'exécute le code. Mon intention est de créer un déclencheur à l'heure exacte 2017-04-03 20:10Erreur lors de l'exécution du déclencheur à un moment spécifique à l'aide de GAS

ScriptApp.newTrigger('myfunction').timeBased().atDate(2017,04,03).atHour(20).nearMinute(10).create(); 

Connexion

[17-04-02 20:16:53:455 IST] TriggerBuilder.timeBased() [0 seconds] 
[17-04-02 20:16:53:456 IST] ClockTriggerBuilder.atDate([2017, 4, 3]) [0 seconds] 
[17-04-02 20:16:53:456 IST] ClockTriggerBuilder.atHour([20]) [0 seconds] 
[17-04-02 20:16:53:461 IST] Execution failed: Error: Already chosen a specific date time with at() or atDate(). (line 109, file "Code") [11.583 seconds total runtime] 
+0

J'ai trouvé ceci [lien] (http://stackoverflow.com/questions/30561061/trigger-every-14-days-starting-on-a-specific-date). Je suppose que vous ne pouvez pas utiliser plusieurs clauses. – Cooper

+0

Cela signifie que nous ne pouvons pas créer un déclencheur de type date avec le temps. Si je spécifie la date, cela signifie qu'il sera déclenché à minuit? –

+0

Je suppose que vous pouvez créer un déclencheur qui exécute un autre script qui crée un autre déclencheur. Mais j'espère que Sandy a tort, mais j'en doute un peu. – Cooper

Répondre

2

Vous pouvez créer un nouvel objet jour avec une date et une heure puis utilisez nouvelle trigger().At(date) , à ne pas confondre avec atDate(), permet de créer un trigger à cette date et heure.

var dt = new Date(2017,03,03,20,10) 
//Month index starts from 0 i.e. Jan =0,Feb=1... So on 
ScriptApp.newTrigger('myFunction').timeBased().at(dt).create() 

Hope that helps!

+0

Merci beaucoup @Jack Brown. Si je veux savoir par programme si le déclencheur est créé sans erreurs, comment le ferai-je? Coz si je donne la date comme 201702,31,20,17 trig sera créé avec uniq id mais ce n'est pas le cas car la date est fausse . –

+0

En fait (2017, 02, 31, 20, 17) est le 31 mars, ce qui est une date valide. Pour févr, vous feriez cette nouvelle date (2017, 01, 31, 20, 17) qui sera automatiquement réglée à la date suivante du 03/03/2017 20:17. Vous pouvez lire à ce sujet [ici] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#Parameters). Vous devrez déterminer par programme si les valeurs que vous avez entrées dans la fonction date correspondent à ce qui a été créé en utilisant getFullYear(), getMonth(), getDay(), etc. –