/** * Lists 10 activity for a Drive user. * @see https://developers.google.com/drive/activity/v2/reference/rest/v2/activity/query */functionlistDriveActivity(){constrequest={pageSize:10// Use other parameter here if needed.};try{// Activity.query method is used Query past activity in Google Drive.constresponse=DriveActivity.Activity.query(request);constactivities=response.activities;if(!activities||activities.length===0){console.log('Noactivity.');return;}console.log('Recentactivity:');for(constactivityofactivities){// get time information of activity.consttime=getTimeInfo(activity);// get the action details/informationconstaction=getActionInfo(activity.primaryActionDetail);// get the actor's details of activityconstactors=activity.actors.map(getActorInfo);// get target information of activity.consttargets=activity.targets.map(getTargetInfo);// print the time,actor,action and targets of drive activity.console.log('%s:%s,%s,%s',time,actors,action,targets);}}catch(err){// TODO (developer) - Handle error from drive activity APIconsole.log('Failedwithanerror%s',err.message);}}/** * @param {object} object * @return {string} Returns the name of a set property in an object, or else "unknown". */functiongetOneOf(object){for(constkeyinobject){returnkey;}return'unknown';}/** * @param {object} activity Activity object. * @return {string} Returns a time associated with an activity. */functiongetTimeInfo(activity){if('timestamp'inactivity){returnactivity.timestamp;}if('timeRange'inactivity){returnactivity.timeRange.endTime;}return'unknown';}/** * @param {object} actionDetail The primary action details of the activity. * @return {string} Returns the type of action. */functiongetActionInfo(actionDetail){returngetOneOf(actionDetail);}/** * @param {object} user The User object. * @return {string} Returns user information, or the type of user if not a known user. */functiongetUserInfo(user){if('knownUser'inuser){constknownUser=user.knownUser;constisMe=knownUser.isCurrentUser||false;returnisMe?'people/me':knownUser.personName;}returngetOneOf(user);}/** * @param {object} actor The Actor object. * @return {string} Returns actor information, or the type of actor if not a user. */functiongetActorInfo(actor){if('user'inactor){returngetUserInfo(actor.user);}returngetOneOf(actor);}/** * @param {object} target The Target object. * @return {string} Returns the type of a target and an associated title. */functiongetTargetInfo(target){if('driveItem'intarget){consttitle=target.driveItem.title||'unknown';return'driveItem:"' + title + '"';}if('drive'intarget){consttitle=target.drive.title||'unknown';return'drive:"' + title + '"';}if('fileComment'intarget){constparent=target.fileComment.parent||{};consttitle=parent.title||'unknown';return'fileComment:"' + title + '"';}returngetOneOf(target)+':unknown';}
[null,null,["最后更新时间 (UTC):2025-01-30。"],[[["This quickstart demonstrates how to set up and run a Google Apps Script that utilizes the Google Drive Activity API to retrieve and display a user's recent Drive activity."],["To use this quickstart, you need a Google Account with access to Google Drive and will need to enable the Drive Activity API for your script."],["The script provided in the quickstart retrieves the 10 most recent activities in your Google Drive, including details like time, actor, action, and targets."],["After authorizing the script to access your Google Drive data, you can execute it directly from the Apps Script editor to view the activity log in the execution output."],["For production environments, it is recommended to further explore Google's authentication and authorization documentation before implementing the provided simplified approach."]]],["This guide demonstrates how to set up and run a Google Apps Script to interact with the Google Drive Activity API. The process involves creating a new script, replacing its contents with provided code, and enabling the Drive Activity API in the script's services. The script then queries and displays the most recent ten activities in Google Drive. Users are prompted to authorize access, and the execution log will output the recent activities or indicate if there is an error.\n"]]