Het principe van pub/sub maakt het mogelijk om bij veranderingen in classroom een melding te ontvangen binnen apps sript.
Het idee is om bij het indienen van een score, de uitslag toe te voegen aan een firestore database.
Hiervoor zijn er een aantal acties noodzakelijk.
Info: Classroom pub/sub notifications
Youtube voorbeeld gmail notification, Google video
Workshop: pub/sub
Maak binnen een cloud project de pub/sub service actief en test deze even uit.
Het stappenplan vind je in de voorgaande info.
Hierna gaan we topics maken per classroom en deze toegang verlenen vanuit de classroom API, zodat deze kan publiceren.
Nadien gaan we in een app script deze topics vergaren in een async functie, waardoor de steam wacht totdat er een publish is geweest.
Selecteer een nieuw of bestaand project.
Via de menu, View all products zoek je naar pub/sun om op het volgende menu uit te komen.
Kies hierin Topics en Create Topic en vul hier een zinnige naam in.
Kies nu voor het toevoegen van een permissie om data te publiceren in deze topic.
Dit is nodig om de classroom API toegang te laten krijgen tot deze publish.
Het email adres dat je hier moet in vullen is:
classroom-notifications@system.gserviceaccount.com
en de rol is: Pub/Sub Publisher
Onder het menu Subscriptions maken we nu een subscriptie aan van dit topic, die we gaan gebruiken in apps script.
Geef dit een id en selecteer op wel topic de subscriptie geldig is.
We kiezen voor een Pull delivery type.
Indien je voor een push delivery type kiest moet je ergens een webhook voorzien waarop deze kan toekomen.
Je kan maar gebruik maken van de pub/sub indien je script niet in de default maar een standard mode draait in Google Cloud.
Om dit te bewerkstelligen, dien je script gekoppeld te worden aan het cloud project waarin je de pub/sub gebruikt.
Je vindt de GCP project nummer terug op het GCP dashboard en dient deze in te vullen in de GCP settings van je Apps Script.
Het is noodzakelijk om de API's die je gebruikt in je apps script, ook te activeren in je GCP.
Je vindt de lijst terug in je libs en services in je script.
Library key: 1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF
Voeg de bovenstaande lib to aan je apps script.
Doordat we gaan gebruik maken van de REST API van pub/sub om via apps script toegang te krijgen, dien je de OAUTH lib te gebruiken.