Modello dei dati dell'API Drive Activity

Questa guida illustra i componenti principali di una risposta nell'API Google Drive Activity, mostrando esempi e come interpretarli.

Oggetti

  • DriveActivity: si tratta di la risorsa principale restituita dalle query all'API Drive Activity. it descrivono uno o più attori che eseguono una o più azioni relative a uno o più obiettivi.

  • Timestamp e TimeRange, ovvero descrivere, rispettivamente, un singolo momento in cui l'attività o l'inizio e la fine di quando si è verificata l'attività in un intervallo di nel tempo.

  • Actor: in genere, un Actor è un utente finale. Tuttavia, a volte, un evento di sistema può attivare Action quando un amministratore agisce in qualità di utente o come se stessi oppure quando eseguite da una persona non identificabile. La Actor messaggio incapsula ciascuno di questi casi.

  • Target: Target è l'oggetto di un'attività, ad esempio un file, una cartella, un Drive condiviso o un commento su un file. Tieni presente che molti tipi di azioni supportano più tipi di target. Per esempio, anche se in genere il criterio Edit si applica ai file di Drive, azioni come Rename e Create possono essere applicate anche a Drive cartelle e Drive condivisi. Target che non sono elementi di Drive può ancora fare riferimento a uno, come la cartella principale di un'unità o l'elemento documento contenente un commento al file.

  • Action: ogni DriveActivity La risorsa ha una o più azioni correlate. Un Action è indipendente, ad esempio event, in quanto comprende non solo il tipo e le informazioni dettagliate sull'azione, ma anche Actor, Target e Timestamp o TimeRange. Per evitare la ridondanza, Action non compila il proprio Target, Actor o i campi relativi all'ora quando sono uguali ai campi complessivi DriveActivity.

  • ActionDetail: questa è la sezione tipo specifico e informazioni dettagliate su Action. Ad esempio, un Il dettaglio dell'azione Move ha una posizione di origine e di destinazione e una PermissionChange specifica chi può ora accedere a un documento e con cosa privilegiati.

Risposte di esempio

Un utente ha modificato un file su Drive:

Una risorsa DriveActivity semplice potrebbe includere una sola azione, ad esempio un utente modificare un file.

"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":{} } } ]
}]

Questo output include i seguenti valori:

  • ACCOUNT_ID: l'ID dell'utente. Può essere utilizzato con API People per saperne di più.
  • ITEM_ID: l'ID dell'elemento di Drive.
  • TITLE: il titolo dell'elemento di Drive.

Tieni presente che Action in questa risposta non include Actor, Target, o TimeStamp perché sono uguali all'offerta complessiva di DriveActivity.

Due utenti hanno modificato lo stesso file in momenti simili:

Quando il consolidamento è attivo, le azioni correlate vengono raggruppate in una DriveActivity. In questo esempio, vengono raggruppate due azioni simili: una Edit tipo di azione di 2 utenti diversi.

"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 }
    }
  ]
}]

Questo output include i seguenti valori:

  • ACCOUNT_ID_1: l'ID del primo utente. Può essere utilizzato con l'API People per trovare ulteriori informazioni.
  • ACCOUNT_ID_2: l'ID del secondo utente.
  • ITEM_ID: l'ID dell'elemento di Drive.
  • TITLE: il titolo dell'elemento di Drive.

Tieni presente che le azioni in questa risposta non includono Target perché è uguale a quello complessivo di DriveActivity.

L'esempio spiega anche come le app possono usare solo le informazioni di riepilogo DriveActivity, senza esaminare le singole azioni. La risposta indica che due utenti hanno modificato un determinato file in un arco di tempo.

Un utente ha spostato 2 file in una nuova directory:

In questo esempio, la strategia di consolidamento ha raggruppato 2 azioni Move correlate perché i file sono stati spostati dalla stessa origine alla stessa destinazione contemporaneamente.

"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":{} } }
    }
  ]
}]

Questo output include i seguenti valori:

  • ACCOUNT_ID: l'ID dell'utente. Può essere utilizzato con API People per saperne di più.
  • ITEM_ID_1: l'ID del primo elemento di Drive.
  • ITEM_ID_2: l'ID del secondo elemento di Drive.
  • TITLE_1: il titolo del primo elemento di Drive.
  • TITLE_2: il titolo del secondo elemento di Drive.

Tieni presente che le azioni in questa risposta non includono Actor o TimeStamp perché sono gli stessi di DriveActivity nel complesso.