خدمة تقارير SDK للمشرف
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتيح لك خدمة "تقارير Admin SDK" استخدام Reports API في Admin SDK ضمن Google Apps Script. تتيح واجهة برمجة التطبيقات هذه لمشرفي نطاقات Google Workspace (بما في ذلك المورّدون) إمكانية إنشاء تقارير استخدام مخصّصة لنطاقاتهم.
للحصول على معلومات تفصيلية عن هذه الخدمة، يُرجى الاطّلاع على
المستندات المرجعية الخاصة
بـ Reports API في Admin SDK. مثل جميع الخدمات المتقدّمة في Apps Script، تستخدم خدمة "تقارير Admin SDK" العناصر والطرق والمعلَمات نفسها التي تستخدمها واجهة برمجة التطبيقات العامة. لمزيد من المعلومات، اطّلِع على كيفية تحديد التواقيع.
/** * 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;},{});}
تاريخ التعديل الأخير: 2026-05-05 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]