Het gebruik van API’s vereist dat de service, de API alsook de toegang tot de API geregeld worden.
Als admin heb je de mogelijkheid om de volgende stappen zelf uit te voeren, zoniet moet je de admin van je organisatie de volgende info bezorgen.
Log in als admin.google.com
Open de tab Security/Access and Data control/API controls
Kies voor Manage Google Services
Scroll tot de lijst waar je Google Workspace Admin kan vinden en activeer dit.
Via Change Access kan je de toegang tot de API beperken tot “trusted apps”, maar dit kan je nadien nog veranderen (na ontwikkeling
Ga naar Console.cloud.google.com naar API’s and services/Dashboard
Klik bovenaan op Enable APIS and Services (of rechtstreeks menu API’s and services/Library
In het zoekvenster kan je nu de betreffende API opzoeken (Google drive API) en deze enablen.
Het enablen van een API op deze wijze gebeurt steeds voor alle projecten in het domain.
Via de menu van de API kan je nu een API key genereren die je later nodig hebt om een specifieke app toegang te geven tot de service.
Op deze wijze moet je de API niet toegankelijk maken voor alle gebruikers en kan de toegang restricted zijn.
Open API’s en services door erop te klikken in het hoofdmenu.
Kies Credentials
Kies Create credentials
Kies API key
Kies voor Restricted
De key heb je nadien nodig in je Apps script en je bepaald hier voor welke API’s de key geldig kan zijn.(Vb Admin en drive)
De key kan je nu downloaden om nadien te gebruiken in je Apps Script
Om in een domain access te hebben tot de API als ontwikkelaar van Apps script moet je een aantal stappen doorlopen.
How to use GCP service accounts with Google Apps Script projects to automate actions in G Suite
List All Users in an Organisation’s Google Workspace Account with Google Apps Script
De OAuth library is nodig om de toegang tot de API en data te kunnen regelen vanuit je app.
Hiermee wordt het uitwisselen van toegangsrechten mogelijk.
Key: 1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF
Via Library Add in je script voeg je de bib toe.
Met de key kan je een lookup doen en krijg je info over de versie en naam van de lib.
Met add voeg je hem toe.
Je moet de toegang tot de API opzetten in de Apps script editor
Dit kunnen meerdere API’s zijn, maar de stappen zijn voor allemaal dezelfde
Via Services/Add de Admin SDK
Je ziet de aanwezigheid van de Lib en service als volgt:
Je kan de volgende generieke code toevoegen, zodat je nadien de functies hebt om verder te werken.(zie code snippets)
OAuth services.gs
De private_key, client_email en client_id zal je bekomen in de download van je service account.
De API keys kan je terug vinden in GCP console
Het gebruik van de credentials door deze rechtstreeks in de code te plaatsen is niet aangewezen ikv veiligheid.
Het principe om deze in een file te bewaren en enkel te delen bij bepaalde personen, die de "config" van een applicatie mogen doen, wordt stap voor stap uitgelegd in de app: QuizzesTo Firestore
function getOAuthService(user) {
return OAuth2.createService("Service Account")
.setTokenUrl('https://accounts.google.com/o/oauth2/token')
.setPrivateKey(JSON.private_key)
.setIssuer(JSON.client_email)
.setSubject(user)
.setPropertyStore(PropertiesService.getScriptProperties())
.setParam('access_type', 'offline')
.setScope('https://www.googleapis.com/auth/drive');
}
function reset() {
var service = getOAuthService();
service.reset();
}
var CREDENTIALS = {
"private_key": "Your Private key",
"client_email": "Your Client email",
"client_id": "Your Client ID",
"user_email": "Your Email address",
"api_key": "Your API key"
};