Reports API: ドライブ アクティビティ レポート

ドライブのアクティビティ レポートでは、ユーザーが Google Workspace で Google ドライブ上のファイルを管理、変更、共有する際のアクティビティに関する情報を確認できます。たとえば、ドライブのアクティビティ レポートを使用して、特定の期間に特定のユーザーが作成した新しいドライブ ドキュメントの一覧を取得できます。この情報を使用して、コンテンツ管理の改善やデータ漏洩の可能性についての分析情報を得られます。レポートを取得するには、ユーザーのメールアドレスや特定の種類の Google ドライブの変更など、レポート固有のパラメータを指定して、基本レポートのエンドポイント リクエストを使用します。レポートには、過去 180 日間のデータを含めることができます。

API を使用してレポートを取得する前に、Reports API の前提条件の手順を完了する必要があります。

Google ドライブ アクティビティ レポートは、ライセンスが割り当てられたアカウントにおいて合法的な目的でのみ使用できます。

リクエストのクエリ文字列とレスポンスのプロパティについては、API リファレンスをご覧ください。Google ドライブに関連する特定のイベントの詳細については、ドライブのイベント名をご覧ください。

ドメインの Google ドライブのイベントを取得する

ドライブのアクティビティ レポートを使用して、ドライブのドキュメントに関する情報を一覧表示することができます。たとえば、お使いのアカウントの直近 25 件のドライブ イベント(最大 180 日間)が記載されているレポートをリクエストできます。このレポートを取得するには、承認ガイドの説明に沿って認証トークンを取得してから、次の HTTP GET リクエストを使用します。

GET https://admin.googleapis.com/admin/reports/v1/activity/users/all
/applications/drive?maxResults=25

この API 呼び出しに対するレスポンスの例をご覧ください。

次の例では、過去 180 日間(最大期間)のすべてのドライブ イベントのレポートを取得します。

GET https://admin.googleapis.com/admin/reports/v1/activity/users/all
/applications/drive

ユーザー別に Google ドライブのイベントを取得する

特定のユーザーの Google ドライブ アクティビティのレポートを取得するには、承認ガイドに記載されている認証トークンを含む HTTP GET リクエストを使用します。userKey フィールドは、レポート内のユーザーのメインのメールアドレス、またはすべてのユーザーの場合は all です。

次の例では、指定したユーザーが行ったすべての変更を一覧表示するレポートを取得します。API レスポンスの例については、JSON レスポンスのサンプルをご覧ください。

GET https://admin.googleapis.com/admin/reports/v1/activity/users/kim@example.com
/applications/drive

共有ドライブに関する Google ドライブの予定を取得する

承認ガイドに記載されている認証トークンを使用して HTTP GET リクエストを使用して、特定の共有ドライブに関する Google ドライブ アクティビティのレポートを取得できます。userKey フィールドにレポートを実行するユーザーのメールアドレスを指定するか、すべてのユーザーでレポートを実行する場合は all を指定します。

次の例では、特定の共有ドライブに対するすべての変更に関するレポートを取得します。API レスポンスの例については、JSON レスポンスのサンプルをご覧ください。

GET https://admin.googleapis.com/admin/reports/v1/activity/users/all
/applications/drive?filters=shared_drive_id==<id of shared drive>

共有ドライブのイベントを取得するには、doc_type を使用してフィルタします。次の例では、すべての共有ドライブに影響するイベントを取得します。

GET https://admin.googleapis.com/admin/reports/v1/activity/users/all
/applications/drive?filters=doc_type=shared_drive

メンバーシップ変更のイベントを取得するには、shared_drive_membership_change イベントを指定します。次の例では、共有ドライブに追加されたすべてのメンバーを取得します。

GET https://admin.googleapis.com/admin/reports/v1/activity/users/all
/applications/drive?evetName=shared_drive_membership_change&
filters=membership_change_type==add_to_shared_drive

Google ドライブのイベントをイベントタイプ別に取得する

ドキュメントの作成や編集など、特定のイベントタイプのすべてのインスタンスのレポートを取得するには、承認ガイドに記載されている認証トークンを使用して HTTP GET リクエストを使用します。userKey フィールドは、レポート内のユーザーのメインのメールアドレス、またはすべてのユーザーの場合は all です。

次の例では、すべてのアカウント ドキュメント作成アクティビティのレポートを取得します。API レスポンスの例については、JSON レスポンスのサンプルをご覧ください。

GET https://admin.googleapis.com/admin/reports/v1/activity/users/all
/applications/drive?eventName=create

JSON レスポンスの例

API に HTTP GET リクエストを送信すると、成功すると、HTTP 200 ステータス コードが返されます。レスポンスでは、ステータス コードとともにドライブのレポートが返されます。これらのレポートは、管理コンソールでも参照できます。詳細については、Google Workspace 管理者ヘルプセンターをご覧ください。eventName の詳細については、ドライブのイベント名のリファレンスをご覧ください。リクエストのクエリ文字列とレスポンスのプロパティについて詳しくは、API リファレンスをご覧ください。

{
 "kind": "reports#auditActivities",
 "nextPageToken": "next page's token",
 "items": [
  {
   "kind": "audit#activity",
   "id": {
    "time": "2014-03-17T15:39:18.460Z",
    "uniqQualifier": "report's unique ID",
    "applicationName": "drive",
    "customerId": "ABC123xyz"
   },
   "actor": {
   "callerType": "USER",
   "email": "kim@example.com",
   "profileId": "user's unique Google Workspace profile ID",
   "key": "consumer key of requestor in an OAuth 2LO request"
   },
   "ownerDomain": "domain of the source owner",
   "ipAddress": "user's IP address",
   "events": [
    {
     "type": "access",
     "name": "edit",
     "parameters": [
      {
        "name": "primary_event",
        "boolValue": true
      },
      {
        "name": "owner_is_shared_drive",
        "boolValue": false
      },      {
        "name": "doc_id",
        "value": "1DWuYM3ot_sAyEQqOz0xWJ9bVMSYzOmRNeBqbgtSwuK8"
      },
      {
        "name": "doc_title",
        "value": "Meeting notes"
      },
      {
        "name": "doc_type",
        "value": "document"
      },
      {
        "name": "owner",
        "value": "mary@example.com"
      }
      ]
     }
    ]
   },
  ]
 }