[この記事は Developer Programs Engineer の Kalyan Reddy による Google Apps Developer Blog の記事 "New Advanced services in Apps Script" を元に、北村が翻訳・加筆したものです。詳しくは元記事をご覧ください。]

Apps Script には、Gmail や Google ドライブなどの主なプロダクト向けのビルトインサービスが含まれています。そして最近、アドバンス Google サービスとしてデベロッパーから要望され続けてきたその他の API を追加しています。4 月 6 日に次の 7 つのアドバンスサービスを追加しました。
Apps Script の他のアドバンスサービスと同様に、使用前にサービスを有効にする必要があります。サービスを有効にすると、他の組み込み Apps Script サービスと同じように簡単に使うことができます。エディターはオートコンプリート機能を備えており、認証フローが自動的に処理されます。

Apps Activity のアドバンスサービスを使用して、Google ドライブにある特定のファイルを操作したユーザーのリストを取得する方法を表すサンプルを次に示します。
function getUsersActivity() {
  var fileId = 'YOUR_FILE_ID_HERE';
  var pageToken;
  var users = {};
  do {
    var result = AppsActivity.Activities.list({
      'drive.fileId': fileId,
      'source': 'drive.google.com',
      'pageToken': pageToken
    });
    var activities = result.activities;
    for (var i = 0; i < activities.length; i++) {
      var events = activities[i].singleEvents;
      for (var j = 0; j < events.length; j++) {
        var event = events[j];
        users[event.user.name] = true;
      }
    }
    pageToken = result.nextPageToken;
  } while (pageToken);
  Logger.log(Object.keys(users));
}
上記の関数では、AppsActivity.Activities.list() メソッドを用いて drive.fileIdsource といった必須パラメーターを送り、ページトークンを使ってアクティビティの全リストを取得しています。このメソッドで利用できるパラメーターの全リストについては、Apps Activity API の参照資料をご確認ください。

Posted by Eiji Kitamura - Developer Relations Team