קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
שירות הדוחות של Admin SDK מאפשר לכם להשתמש ב-Reports API של Admin SDK ב-Apps Script. ה-API הזה מאפשר לאדמינים של דומיינים ב- Google Workspace (כולל משווקים) ליצור דוחות שימוש מותאמים אישית לדומיין שלהם.
חומרי עזר
מידע מפורט על השירות הזה זמין במסמכי העזרה של Reports 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-04 (שעון 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."]]],[]]