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

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

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 ドライブ イベントを取得する

特定の共有ドライブの Google ドライブ アクティビティのレポートを取得するには、認可ガイドで説明されている認証トークンを使用して HTTP GET リクエストを使用します。レポートを実行するユーザーのメールアドレスを 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": "[email protected]",
   "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": "[email protected]"
      }
      ]
     }
    ]
   },
  ]
 }