このガイドでは、Google Drive Activity API v1 と v2 の違いと、v1 API を変更して v2 API をサポートする方法について説明します。
承認
v1 API は次のスコープを使用しました。
https://www.googleapis.com/auth/activity
v2 API には、次のいずれかのスコープが必要です。
https://www.googleapis.com/auth/drive.activityhttps://www.googleapis.com/auth/drive.activity.readonly
リソース名
v1 API では、Google ドライブのアイテムやユーザーなどのオブジェクトの識別子は不透明な文字列でした。v2 API では、通常、これらのオブジェクトはリソース名を使用して参照されます。詳細については、Cloud API 設計ガイドをご覧ください。
通常、これらの識別子は変換できます。たとえば、v2 API の Drive アイテムは、リソース名 items/ITEM_ID_V1 を使用して参照されます。
リクエスト
v2 のリクエスト形式は v1 と類似しています。具体的には、ドライブ ファイルまたはドライブの祖先のアクティビティをリクエストすることは引き続き可能です。ただし、これらのリクエスト パラメータには items/ を接頭辞として追加し、リソース名としてフォーマットする必要があります。
「グループ化」の名称を「統合」に変更し、source リクエスト パラメータと userId リクエスト パラメータを削除しました。
また、レスポンスで返されるアクティビティ データの種類を制限できる新しいフィルタ オプションもあります。
操作
v1 API では、アクティビティの種類とそのアクティビティに関連付けられたデータは別々のフィールドにありました。たとえば、primaryEventType フィールドに値 move が含まれている場合、アプリは、追加または削除された親が最上位の move フィールドに入力されていると想定します。
v2 API では、これらのフィールドは区別されなくなりました。ActionDetail メッセージには、フィールドが 1 つだけ設定されています。これはアクション タイプを表し、そのアクションに関連する詳細情報を含みます。たとえば、移動を表す ActionDetail は move フィールドのみを設定します。このフィールドには、追加または削除された親が一覧表示されます。
v1 API の primaryEventType フィールドは、v2 の primaryActionDetail とほぼ一致します。
脅威アクター
v1 API では、アクタが既知のユーザーである場合、返されたアクティビティには User が含まれ、必要に応じて、特別なケースの fromUserDeletion などの最上位フィールドが含まれます。
v2 API では、より豊富な Actor タイプを使用できます。また、アクタが既知のユーザーの場合は user.knownUser が入力されます。アプリケーションでユーザーの詳細情報を必要とする場合は、KnownUser フィールド personName を people.get メソッドに渡すことで、People API からクエリを実行できます。
ターゲット
v1 API では、ターゲットは常にドライブ アイテムでした。v2 API では、ターゲットは Drive 内の他のタイプのオブジェクトにすることができます。たとえば、ドライブの変更のターゲット タイプは Drive です。共有ドライブのルートフォルダは引き続き(root フィールドの DriveItem として)返されますが、アクティビティの直接的なターゲットではありません。同様のコンセプトが FileComment リソースにも適用されます。このリソースの parent フィールドは、ターゲット コメント スレッドを含むドライブ アイテムを参照します。
統合アクティビティ
v1 API では、統合(「グループ化」)戦略が設定されるとレスポンスのスタイルが変更されました。具体的には、統合がオンになっている場合、各アクティビティには、構成要素の singleEvents と、それらの構成要素イベントの共通アクティビティを要約した combinedEvent が含まれていました。統合がオフの場合、combinedEvent フィールドには、各アクティビティの元の統合されていないイベントが含まれていました。これらのイベントは、作成と共有など、複数のアクションを表す場合があります。
v2 API では、返される DriveActivity には常にすべてのアクタ、ターゲット、アクションが含まれるため、統合戦略に基づいてレスポンスのスタイルが変更されることはありません。