Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Служба отчетов Admin SDK позволяет использовать API отчетов Admin SDK в Apps Script. Этот API предоставляет администраторам доменов Google Workspace (включая реселлеров) возможность создавать пользовательские отчеты об использовании для своих доменов.
Ссылка
Подробную информацию об этой службе см. в справочной документации по API отчётов Admin SDK. Как и все расширенные службы в Apps Script, служба отчётов Admin SDK использует те же объекты, методы и параметры, что и общедоступный API. Подробнее см. в разделе «Как определяются сигнатуры методов» .
Этот пример формирует отчёт об активности входов в систему за последнюю неделю в виде электронной таблицы. Отчёт включает время, имя пользователя и результат входа.
/** * 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('No results returned.');return;}constspreadsheet=SpreadsheetApp.create('Google Workspace Login Report');constsheet=spreadsheet.getActiveSheet();// Append the headers.constheaders=['Time','User','Login Result'];sheet.appendRow(headers);// Append the results.sheet.getRange(2,1,rows.length,headers.length).setValues(rows);console.log('Report spreadsheet created: %s',spreadsheet.getUrl());}
Создать отчет об использовании пользователем
Этот пример формирует отчёт об использовании приложения пользователями за прошлую неделю в виде электронной таблицы. Отчёт включает дату, пользователя, время последнего входа, количество полученных писем и количество имеющихся документов.
/** * 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('No results returned.');return;}constspreadsheet=SpreadsheetApp.create('Google Workspace User Usage Report');constsheet=spreadsheet.getActiveSheet();// Append the headers.constheaders=['Date','User','Last Login','Num Emails Received','Num Drive Files Created'];sheet.appendRow(headers);// Append the results.sheet.getRange(2,1,rows.length,headers.length).setValues(rows);console.log('Report spreadsheet created: %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;},{});}
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-08-29 UTC."],[[["\u003cp\u003eThe Admin SDK Reports service enables Google Workspace administrators to create custom usage reports within Apps Script, using the Admin SDK's Reports API.\u003c/p\u003e\n"],["\u003cp\u003eThis advanced service requires prior enabling and mirrors the functionalities of the public API, using the same objects, methods, and parameters.\u003c/p\u003e\n"],["\u003cp\u003eSample 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.\u003c/p\u003e\n"],["\u003cp\u003eComprehensive reference documentation and a support guide for the Admin SDK Reports API are available for further information and assistance.\u003c/p\u003e\n"]]],[],null,[]]