このガイドでは、Google Drive Activity API のレスポンスを構成する主なコンポーネントについて説明します。 例と解釈方法を紹介します
オブジェクト
DriveActivity
- Drive Activity API へのクエリによって返されるプライマリ リソース。これは、 1 つまたは複数の行為者が 1 つまたは複数の行動に影響を与える 1 つまたは ターゲットの数が増えますTimestamp
およびTimeRange
- これらの アクティビティの特定の時点か、 または、一定の期間にわたってアクティビティが発生した時刻の開始と終了 あります。Actor
- 通常、Actor
は 必要ありません。ただし、場合によっては、システム イベントによってAction
(管理者が管理者ロールの場合) または特定できない人物によって行われた場合。「Actor
メッセージは、これらの各ケースをカプセル化します。Target
-Target
はオブジェクトです。 アクティビティ(ファイル、フォルダ、共有ドライブ、ファイルのコメントなど)のクイック リファレンスが表示されます。 多くのアクション タイプで、複数の種類のターゲットがサポートされています。対象Edit
は通常、ドライブのファイルに、その他の Google ドライブのファイルに適用されるため、Rename
やCreate
などのアクションはドライブにも適用できます フォルダと共有ドライブです。ドライブのアイテムではないターゲット その場合でも、ドライブのルートフォルダや親のフォルダなど、 コメントを記述しています。Action
-DriveActivity
ごと リソースに 1 つ以上の関連アクションがあります。Action
は自己完結型であり、 たとえば event です。ここでは、詳細なタイプと情報だけでなく、Actor
、Target
、Timestamp
があります。 またはTimeRange
。冗長性を避けるため、Action
は自身の入力を行いません。Target
、Actor
、または時間フィールドが全体値と同じである場合は、DriveActivity
。ActionDetail
-Action
に関する特定のタイプと詳細情報が表示されます。たとえば、Move
アクションの詳細には、送信元と宛先のロケーション、およびPermissionChange
は、ドキュメントにアクセスできるユーザーと、その権限を指定します できます。
回答例
ユーザーがドライブ内のファイルを編集しました。
単純な DriveActivity
リソースには、ユーザーなどのアクションが 1 つだけ含まれることがあります。
編集することはできません。
"activities":[{
"primary_action_detail":{ "edit":{} },
"actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
"targets":[ { "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } } ],
"timestamp":{ "seconds":"1536794657", "nanos":791000000 },
"actions":[ { "detail":{ "edit":{} } } ]
}]
この出力には次の値が含まれます。
- ACCOUNT_ID: ユーザーの ID。 People API を使用して詳細情報を取得できます。
- ITEM_ID: ドライブのアイテムの ID。
- TITLE: ドライブのアイテムのタイトル。
このレスポンスの Action
には、Actor
、Target
、
または TimeStamp
になります。これは、DriveActivity
全体と同じであるためです。
2 人のユーザーが同じファイルをほぼ同時に編集しました。
統合を有効にすると、関連するアクションが 1 つにグループ化されます
DriveActivity
。この例では、2 つの類似したアクションがグループ化されています(1 つの Edit
)。
異なる 2 人のユーザーによるアクション タイプです。
"activities":[{
"primary_action_detail":{ "edit":{} },
"actors":[
{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } }
],
"targets":[
{ "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
],
"time_range":{
"start_time":{ "seconds":"1541089823", "nanos":712000000 },
"end_time":{ "seconds":"1541089830", "nanos":830000000 }
},
"actions":[
{
"detail":{ "edit":{} },
"actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
"timestamp":{ "seconds":"1541089830", "nanos":830000000 }
},
{
"detail":{ "edit":{} },
"actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } },
"timestamp":{ "seconds":"1541089823", "nanos":712000000 }
}
]
}]
この出力には次の値が含まれます。
- ACCOUNT_ID_1: 最初のユーザーの ID。また、kubectl の「get」コマンドや People API を使用すると、詳細情報を取得できます。
- ACCOUNT_ID_2: 2 番目のユーザーの ID。
- ITEM_ID: ドライブのアイテムの ID。
- TITLE: ドライブのアイテムのタイトル。
このレスポンスのアクションに Target
は含まれません。これは、
DriveActivity
全体と同じです。
この例は、アプリが概要情報のみを使用する仕組みも示しています。
DriveActivity
。個々のアクションを確認することはできません。レスポンス
2 人のユーザーが一定期間にわたって特定のファイルを編集したことを示します。
ユーザーが 2 つのファイルを新しいディレクトリに移動しました。
この例では、統合戦略により 2 つの関連する Move
アクションがグループ化されています
なぜなら、ファイルは同じソースから同じ宛先に
できます。
"activities":[{
"primary_action_detail":{
"move":{
"added_parents":[ { ... } ]
"removed_parents":[ { ... } ]
}
},
"actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
"targets":[
{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
],
"timestamp":{ "seconds":"1541090960", "nanos":985000000 },
"actions":[
{
"detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
"target":{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
},
{
"detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
"target":{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
}
]
}]
この出力には次の値が含まれます。
- ACCOUNT_ID: ユーザーの ID。 People API を使用して詳細情報を取得できます。
- ITEM_ID_1: ドライブの最初のアイテムの ID。
- ITEM_ID_2: 2 番目のドライブのアイテムの ID。
- TITLE_1: ドライブの最初のアイテムのタイトル。
- TITLE_2: ドライブの 2 番目のアイテムのタイトル。
このレスポンスのアクションには Actor
や TimeStamp
は含まれません。
DriveActivity
全体と同じであるためです。