Scouterna/Google-Scoutnet-synk

För många anrop gjorda mot googles api, google svarar med capatcha

Closed this issue · 4 comments

Hej, jag tänkte köra en uppdatering manuellt idag, behövde debugga inställningarna i mitt excelark.

Nu avslutas synkningen av grupper med fel av typen:

HttpResponseException: Response Code: 429. Message: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content="initial-scale=1"><title>https://admin.googleapis.com/admin/directory/v1/groups?alt=json&amp;domain=blablabla.se&amp;maxResults=150&amp;quotaUser=XXXXXXXXXXXXXXXXXXXX</title></head>
<body style="font-family: arial, sans-serif; background-color: #fff; color: #000; padding:20px; font-size:18px;" onload="e=document.getElementById('captcha');if(e){e.focus();}">
<div style="max-width:400px;">
<hr noshade size="1" style="color:#ccc; background-color:#ccc;"><br>
<form id="captcha-form" action="index" method="post">
To continue, please type the characters below:<br><br>
<img src="/sorry/image?id=bla bla blaj&amp;hl=en&amp;continue=https://admin.googleapis.com/admin/directory/v1/groups%3Falt%3Djson%26domain%3blablabla.se%26maxResults%3D150%26quota....
checkIfGroupExists	@ Grupper.gs:1416
checkIfEmailIsAGroup	@ Grupper.gs:1401
getEmailadressesToSendSpamNotification	@ Grupper.gs:1163
updateGroup	@ Grupper.gs:492
Grupper	@ Grupper.gs:214

Går det att komma runt det här på något sätt, kan jag manuellt bekräfta capatchan?

Hej,
Felet verkar uppkomma om Googles API tycker att det kommer för många anrop på samma gång.
Du får gärna återkomma om du fortsatt har problem i dag eller om problemet försvann för denna gång efter ett tag.
Om det fortsatt är problem tror jag att det kan eventuellt kan lösas genom att gå in på https://accounts.google.com/b/0/DisplayUnlockCaptcha

Jag förbättrar anropen och väntetider till kommande version vilket sen tidigare gjorts för en del funktioner i skripten.
För den intresserade kan anropsbegränsningarna hittas på https://developers.google.com/admin-sdk/directory/v1/limits

Vid den nattliga schemalagda körningen gick det dåligt.

När jag sparkade igång skriptet nu manuellt dagen efter så verkade det gå bra.

Jag ska försöka kontrollera mer under helgen när jag förhoppningsvis har lite mer tid.

Jag tittade väldigt snabbt i koden i går, om jag läser rätt så kontrollerarman en gånf för varje adress om adressen är en lista och gör ett anrop mot apit.
Det kanske borde optimeras så att man första gången av listhämningen med att hämta en lista över alla grupper till en global variabel eller liknande som cache.
Efterföljande kollar kontrollerar mot den redan hämtade listan.

Det hade är nog ett snällare sätt att använda apiet.

Det är nu optimerat så att listan sparas i en global variabel och uppdateras om det läggs till nya grupper eller tas bort några grupper.