Guide de démarrage rapide de Google Apps Script

Les guides de démarrage rapide expliquent comment configurer et exécuter une application qui appelle un API Google Workspace.

Les guides de démarrage rapide de Google Workspace utilisent les bibliothèques clientes des API pour gérer certaines les détails du flux d'authentification et d'autorisation. Nous vous recommandons vous utilisez les bibliothèques clientes pour vos propres applications. Ce guide de démarrage rapide utilise une approche d'authentification simplifiée, adaptée à un test environnement. Pour un environnement de production, nous vous recommandons de vous familiariser authentification et autorisation avant Choisir les identifiants d'accès adaptés à votre application.

Créez un Google Apps Script qui envoie des requêtes à l'API Google Drive Activity.

Objectifs

  • Configurer l'environnement
  • Créez et configurez le script.
  • Exécutez le script.

Prérequis

  • Un compte Google
  • Accès à Google Drive

Créer le script

  1. Accédez à la page script.google.com/create pour créer un script.
  2. Remplacez le contenu de l'éditeur de scripts par le code suivant:

drive/activity-v2/quickstart.gs
/**
 * Lists 10 activity for a Drive user.
 * @see https://developers.google.com/drive/activity/v2/reference/rest/v2/activity/query
 */
function listDriveActivity() {
  const request = {
    pageSize: 10
    // Use other parameter here if needed.
  };
  try {
    // Activity.query method is used Query past activity in Google Drive.
    const response = DriveActivity.Activity.query(request);
    const activities = response.activities;
    if (!activities || activities.length === 0) {
      console.log('No activity.');
      return;
    }
    console.log('Recent activity:');
    for (const activity of activities) {
      // get time information of activity.
      const time = getTimeInfo(activity);
      // get the action details/information
      const action = getActionInfo(activity.primaryActionDetail);
      // get the actor's details of activity
      const actors = activity.actors.map(getActorInfo);
      // get target information of activity.
      const targets = 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 API
    console.log('Failed with an error %s', err.message);
  }
}

/**
 * @param {object} object
 * @return {string}  Returns the name of a set property in an object, or else "unknown".
 */
function getOneOf(object) {
  for (const key in object) {
    return key;
  }
  return 'unknown';
}

/**
 * @param {object} activity Activity object.
 * @return {string} Returns a time associated with an activity.
 */
function getTimeInfo(activity) {
  if ('timestamp' in activity) {
    return activity.timestamp;
  }
  if ('timeRange' in activity) {
    return activity.timeRange.endTime;
  }
  return 'unknown';
}

/**
 * @param {object} actionDetail The primary action details of the activity.
 * @return {string} Returns the type of action.
 */
function getActionInfo(actionDetail) {
  return getOneOf(actionDetail);
}

/**
 * @param {object} user The User object.
 * @return {string}  Returns user information, or the type of user if not a known user.
 */
function getUserInfo(user) {
  if ('knownUser' in user) {
    const knownUser = user.knownUser;
    const isMe = knownUser.isCurrentUser || false;
    return isMe ? 'people/me' : knownUser.personName;
  }
  return getOneOf(user);
}

/**
 * @param {object} actor The Actor object.
 * @return {string} Returns actor information, or the type of actor if not a user.
 */
function getActorInfo(actor) {
  if ('user' in actor) {
    return getUserInfo(actor.user);
  }
  return getOneOf(actor);
}

/**
 * @param {object} target The Target object.
 * @return {string} Returns the type of a target and an associated title.
 */
function getTargetInfo(target) {
  if ('driveItem' in target) {
    const title = target.driveItem.title || 'unknown';
    return 'driveItem:"' + title + '"';
  }
  if ('drive' in target) {
    const title = target.drive.title || 'unknown';
    return 'drive:"' + title + '"';
  }
  if ('fileComment' in target) {
    const parent = target.fileComment.parent || {};
    const title = parent.title || 'unknown';
    return 'fileComment:"' + title + '"';
  }
  return getOneOf(target) + ':unknown';
}

  1. Cliquez sur Enregistrer .
  2. Cliquez sur Projet sans titre, puis saisissez Guide de démarrage rapide, puis cliquez sur Renommer.

Configurer le script

Activer l'API Google Drive Activity

  1. Ouvrez le projet Apps Script.
  1. Cliquez sur Éditeur .
  2. À côté de Services, cliquez sur "Ajouter un service".
  3. Sélectionner API Drive Activity puis cliquez sur Ajouter.

Exécuter l'exemple

Dans l'éditeur Apps Script, cliquez sur Exécuter.

La première fois que vous exécutez l'exemple, vous êtes invité à autoriser l'accès:

  1. Cliquez sur Examiner les autorisations.
  2. Choisissez un compte.
  3. Cliquez sur Autoriser.

Le journal d'exécution du script s'affiche en bas de la fenêtre.

<ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">

Étapes suivantes