Il servizio Report di SDK Admin ti consente di utilizzare l'API Reports di SDK Admin in Apps Script. Questa API consente agli amministratori Google Workspace di Google Workspace domini (inclusi i rivenditori) di creare report sull'utilizzo personalizzati per il proprio dominio.
Riferimento
Per informazioni dettagliate su questo servizio, consulta la documentazione di riferimento per l'API Report dell'SDK Admin. Come tutti i servizi avanzati di Apps Script, il servizio Admin SDK Reports utilizza gli stessi oggetti, metodi e parametri dell'API pubblica. Per ulteriori informazioni, consulta Come vengono determinate le firme dei metodi.
Il codice di esempio riportato di seguito utilizza la versione 1
dell'API.
Generare un report sulle attività di accesso
Questo esempio genera un report sulle attività di accesso per la settimana precedente come
spreadsheet. Il report include l'ora, l'utente e il risultato dell'accesso.
/** * Generates a login activity report for the last week as a spreadsheet. The * report includes the time, user, and login result. * @see https://developers.google.com/admin-sdk/reports/reference/rest/v1/activities/list */functiongenerateLoginActivityReport(){constnow=newDate();constoneWeekAgo=newDate(now.getTime()-7*24*60*60*1000);conststartTime=oneWeekAgo.toISOString();constendTime=now.toISOString();constrows=[];letpageToken;letpage;do{page=AdminReports.Activities.list('all','login',{startTime:startTime,endTime:endTime,maxResults:500,pageToken:pageToken});constitems=page.items;if(items){for(constitemofitems){constrow=[newDate(item.id.time),item.actor.email,item.events[0].name];rows.push(row);}}pageToken=page.nextPageToken;}while(pageToken);if(rows.length===0){console.log('Noresultsreturned.');return;}constspreadsheet=SpreadsheetApp.create('GoogleWorkspaceLoginReport');constsheet=spreadsheet.getActiveSheet();// Append the headers.constheaders=['Time','User','LoginResult'];sheet.appendRow(headers);// Append the results.sheet.getRange(2,1,rows.length,headers.length).setValues(rows);console.log('Reportspreadsheetcreated:%s',spreadsheet.getUrl());}
Generare un report sull'utilizzo da parte degli utenti
Questo esempio genera un report sull'utilizzo degli utenti per questo giorno della settimana scorsa come
spreadsheet. Il report include la data, l'utente, l'ora dell'ultimo accesso, il numero di email ricevute e il numero di documenti di proprietà.
/** * Generates a user usage report for this day last week as a spreadsheet. The * report includes the date, user, last login time, number of emails received, * and number of drive files created. * @see https://developers.google.com/admin-sdk/reports/reference/rest/v1/userUsageReport/get */functiongenerateUserUsageReport(){consttoday=newDate();constoneWeekAgo=newDate(today.getTime()-7*24*60*60*1000);consttimezone=Session.getScriptTimeZone();constdate=Utilities.formatDate(oneWeekAgo,timezone,'yyyy-MM-dd');constparameters=['accounts:last_login_time','gmail:num_emails_received','drive:num_items_created'];constrows=[];letpageToken;letpage;do{page=AdminReports.UserUsageReport.get('all',date,{parameters:parameters.join(','),maxResults:500,pageToken:pageToken});if(page.warnings){for(constwarningofpage.warnings){console.log(warning.message);}}constreports=page.usageReports;if(reports){for(constreportofreports){constparameterValues=getParameterValues(report.parameters);constrow=[report.date,report.entity.userEmail,parameterValues['accounts:last_login_time'],parameterValues['gmail:num_emails_received'],parameterValues['drive:num_items_created']];rows.push(row);}}pageToken=page.nextPageToken;}while(pageToken);if(rows.length===0){console.log('Noresultsreturned.');return;}constspreadsheet=SpreadsheetApp.create('GoogleWorkspaceUserUsageReport');constsheet=spreadsheet.getActiveSheet();// Append the headers.constheaders=['Date','User','LastLogin','NumEmailsReceived','NumDriveFilesCreated'];sheet.appendRow(headers);// Append the results.sheet.getRange(2,1,rows.length,headers.length).setValues(rows);console.log('Reportspreadsheetcreated:%s',spreadsheet.getUrl());}/** * Gets a map of parameter names to values from an array of parameter objects. * @param {Array} parameters An array of parameter objects. * @return {Object} A map from parameter names to their values. */functiongetParameterValues(parameters){returnparameters.reduce((result,parameter)=>{constname=parameter.name;letvalue;if(parameter.intValue!==undefined){value=parameter.intValue;}elseif(parameter.stringValue!==undefined){value=parameter.stringValue;}elseif(parameter.datetimeValue!==undefined){value=newDate(parameter.datetimeValue);}elseif(parameter.boolValue!==undefined){value=parameter.boolValue;}result[name]=value;returnresult;},{});}
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-12-21 UTC."],[[["The Admin SDK Reports service enables Google Workspace administrators to create custom usage reports within Apps Script, using the Admin SDK's Reports API."],["This advanced service requires prior enabling and mirrors the functionalities of the public API, using the same objects, methods, and parameters."],["Sample code is provided demonstrating how to generate login activity reports (including time, user, and login result) and user usage reports (including date, user, last login, emails received, and docs created) for a specified timeframe, outputting the data into a spreadsheet."],["Comprehensive reference documentation and a support guide for the Admin SDK Reports API are available for further information and assistance."]]],[]]