שירות Admin SDK Reports
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
שירות הדוחות של Admin SDK מאפשר לכם להשתמש ב-Reports API של Admin SDK ב-Google 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"]],["עדכון אחרון: 2026-05-05 (שעון UTC)."],[],[]]