From bd325e20713c1a3939206f858eb7521f958ca663 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emil=20=C3=96hman?= Date: Sat, 29 Jun 2019 12:00:23 +0200 Subject: [PATCH] =?UTF-8?q?La=20till=20v=C3=A4ntetid=20f=C3=B6r=20misslyck?= =?UTF-8?q?at=20anrop=20till=20Users.list=20i=20funktionen=20getGoogleAcco?= =?UTF-8?q?unt=20f=C3=B6r=20att=20testa=20igen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemensamma_funktioner.gs | 1 - Grupper.gs | 54 +++++++++++++++++++++++++--------------- 2 files changed, 34 insertions(+), 21 deletions(-) diff --git a/Gemensamma_funktioner.gs b/Gemensamma_funktioner.gs index cf6e42e..784fb58 100644 --- a/Gemensamma_funktioner.gs +++ b/Gemensamma_funktioner.gs @@ -559,7 +559,6 @@ String.prototype.endsWith = function(suffix) { return this.lastIndexOf(suffix) === this.length - suffix.length; } - /** * Ersätt specialtecken med deras engelska bokstavsmotsvarigheter * https://stackoverflow.com/questions/18123501/replacing-accented-characters-with-plain-ascii-ones diff --git a/Grupper.gs b/Grupper.gs index a5c4ea7..444c6cd 100644 --- a/Grupper.gs +++ b/Grupper.gs @@ -325,27 +325,41 @@ function getGoogleAccount(member_no) { var users; var qry = "externalId='"+ member_no +"'"; - var pageToken, page; - do { - page = AdminDirectory.Users.list({ - domain: domain, - query: qry, - orderBy: 'givenName', - maxResults: 150, - pageToken: pageToken - }); - users = page.users; - if (users) { + + for (var n=0; n<6; n++) { + Logger.log("Funktionen getGoogleAcount körs " + n); + try { - //Logger.log('%s (%s)', users[0].name.fullName, users[0].primaryEmail); - return users[0].primaryEmail; - - } else { - //Logger.log('Inga användare hittades.'); - return ""; - } - pageToken = page.nextPageToken; - } while (pageToken); + var pageToken, page; + do { + page = AdminDirectory.Users.list({ + domain: domain, + query: qry, + orderBy: 'givenName', + maxResults: 150, + pageToken: pageToken + }); + users = page.users; + if (users) { + + //Logger.log('%s (%s)', users[0].name.fullName, users[0].primaryEmail); + return users[0].primaryEmail; + + } else { + //Logger.log('Inga användare hittades.'); + return ""; + } + pageToken = page.nextPageToken; + } while (pageToken); + + } catch(e) { + Logger.log("Problem med att anropa GoogleTjänst Users.list i funktionen getGoogleAccount"); + if (n == 5) { + throw e; + } + Utilities.sleep((Math.pow(2,n)*1000) + (Math.round(Math.random() * 1000))); + } + } }